Giter VIP home page Giter VIP logo

deephaven-core's People

Contributors

abaranec avatar alexpeters1208 avatar arman-ddl avatar chipkent avatar cpwright avatar dependabot[bot] avatar devinrsmith avatar dsmmcken avatar elijahpetty avatar georgecwan avatar github-actions[bot] avatar hythloda avatar jakemulf avatar jamesxnelson avatar jcferretti avatar jjbrosnan avatar jmao-denver avatar kosak avatar lbooker42 avatar malhotrashivam avatar margaretkennedy avatar mattrunyon avatar mofojed avatar nbauernfeind avatar niloc132 avatar rbasralian avatar rcaudy avatar stanbrub avatar supertails avatar vegegoku avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deephaven-core's Issues

Create CONTRIBUTING.md

Create a CONTRIBUTING.md document that outlines the steps to create a pull request, and how to get it reviewed, approved, and merged. This will be internal facing for now, and should be updated/evolve as we prepare to engage with the community.

Console Language selection UI

Somehow need to be able to select what kind of session to make. This is probably just revising the ConsoleCreator.jsx to remove all of the options except for one dropdown which selects the session type as defined by the server.

ConstructSnapshotQuery should look like a arrow flight DoGet

This ensures our client will be able to read plain flight payloads, and that plain flight clients can read data at least in a way they expect.

App-specific header will be a flatbuffer with columns, index, and "use pos space" boolean, plus others.

Session ordering to simulate a single bidi grpc stream

This could let GRPC clients send commands before earlier ones have even been handled and not need to worry about them getting mis-ordered in the http2 proxy/server.

Instead, for now clients must wait until their previous command completed before starting the next one.

DoPut has out-of-band sequencing for BarrageMessage's. This logic should be lifted, and unit tested, for re-use by patterns like these. (See the usage of RAPriQueue in FlightServiceGrpcImpl.)

Setup Versioning

Define the versioning process used and put in the README.md.
An example would be https://semver.org/

Suggest that we simply have a master branch, then we tag it with a release, and create a branch for that with patch versioning if necessary.

Restore Layout

Restore the layout from when they close/re-open a session.

Remove old company name(s)

Need to remove outdated references to Illumon, maybe iris, fishlib, and genesis. For example, a couple of property keys explicitly reference genesis.

Publish initial code

Edit to add description: this ticket refers to the an initial release of the actual code and product. There are some prerequisite skeleton structure that can be setup - but there needs to be care before any actual code is released (these can be described in their own tickets).

Java cleanup index

Not in a separate repo, but separate artifact, removing dependencies that shouldn't be there.

Git structure

Precursor to #5 .

We need a git structure / workflow that focuses on allowing developers to be productive. Build/CI concerns apply.

I've been prototyping out some workflows in demo-app. I suggest:

  • Immutable annotated release tags, format v_<major>.<minor>.<patch>
  • Only release tags can be prefixed with v_
  • All merges to main go through PRs.
  • PRs to main can only be merged when green.
  • (TODO:) Should PRs builds be based on a post-merge ref, or a pre-merge ref?
  • All initial feature releases (ie, v_<major>.<minor>.0) are tagged from main.
  • Branches off of main meant to be merged back into main should be named feature/<f>
  • Release branches have the format release/<major>.<minor>.x.
  • All patch work is done against the tip of the oldest supported release branch (which, barring major security patches, should always be the latest release)
  • Patch work to be merged into a release branch should have the format hotfix/<x>
  • Patch releases hit each subsequent release branch and create their own releases before being merged forward into main
  • Versioning happens automatically
  • Commit message format? Tagging in commit message? (Potentially, mandating referencing any ticket numbers?)

Java cleanup LTM

This will also include detangling from fishlib comm which shares its scheduler, and probably switching to some OSS scheduler.

SessionState - unit tests

SessionState is relatively complicated due to all of the ways that the user can interact with exports.

Exports:

  • have dependencies
  • may be defined out of order (cannot guarantee ordering in grpc)
  • may have clean-up tasks when released
  • can throw exceptions in error handlers
  • can throw exceptions in the exporting callable
  • users can cancel/release at any time

Unit tests have been deferred in favor of getting a proof of concept going, but these tests are extremely important.

Setup Build

Set up a build entry point that builds the whole gradle/java project. As components are added, they should be added to the build file/system we use.

Should have support for building the project, running all tests (including enforcing the style guide, see #6 .

Barrage Subscription Server Side Exports

  • Barrage serialization
  • Convert to BarrageMessageProducer automatically (no need to export an existing table again)
  • Must properly manage liveness
  • Multiple subscriptions on the same table are allowed without additional exports.
  • Out of band Subscription Updates (web is server-streaming only)
  • Aimed at Web UI (i.e. no need for ReplicatedTable in this issue)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.