Great to see this PR fall into place. As this is the last major item aimed
at 3.5.3, I'd encourage anyone with an interest to perform their code
review immediately, so that any issues can be addressed early next week
allowing us to head to code freeze nice and comfortable like for next
Friday.

I can't recall where/when we last discussed it, but just to bring it up
here to be sure, I think that while we should set the expectation that
gremlin-go is in an "early release" form with limited features and in GA
for the purpose of soliciting feedback. I don't think we need to wait for
all the projected milestones to be completed to have an official release
necessarily but that decision can be made as the effort continues.

As this is an "early release" I'd encourage reviewers to think of it that
way and reflect on the early stage releases of Python or Javascript as a
reference point for what we considered as "alpha" in those cases.



On Thu, Mar 17, 2022 at 5:46 PM Lyndon Bauto
<[email protected]> wrote:

> Hi all,
>
> On the topic of Gremlin-Go, I would like to provide an update as we have
> prepared code that is now release ready (once code review on TinkerPop is
> complete).
>
> First off, we decided to add an additional milestone (Milestone 4 below,
> incrementing the milestones that come after) to the above list. We now have
> the following plan:
>
>
>    - *Milestone 1 - Basic Connectivity with String Traversals*
>    - *Milestone 2 - ResultSet and Programmatic Traversals*
>    - *Milestone 3 - TinkerPop Build Infrastructure Integration*
>    - *NEW: **Milestone 4 - GA Ready*
>    - *Milestone 5 - Sessions, Strategies, Translator, Remote Transactions*
>    - *Milestone 6 - Advanced Driver Features and Configuration Options*
>    - *Milestone 7 - Performance and Documentation*
>
>
> We have combined the Milestone 3 and 4 into a pull request which is
> available here: https://github.com/apache/tinkerpop/pull/1589/files.
>
> After this pull request is merged, I will take the gremlin-go branch and
> merge the code into a release branch, from here we can formally release the
> Gremlin-Go code, and make it available for users. We have all the Cucumber
> tests passing, so that gives high confidence that the driver is stable for
> users and the features are working.
>
> We will be beginning Milestone 5 immediately (while prioritizing
> incorporating feedback on the pull request).
>
> Finally, since I got no feedback on the previous question about __/T__ so
> we have gone with T__ in the gremlin-go driver. If you disagree with this
> and would like to raise your opinion, you can comment on our open pull
> request for Milestone 3/4.
>
> Thank you to all the people who have been actively reviewing and developing
> this!
>
> On Tue, Mar 1, 2022 at 9:52 AM Lyndon Bauto <[email protected]>
> wrote:
>
> > Hi all,
> >
> > I was looking to see if anyone had input on naming of embedded traversals
> > in the Gremlin Go Driver. Typically we would have something like:
> > g.V().Foo(__.Bar())
> >
> > Now in Golang we are currently making this look like:
> > g.V().Foo(gremlingo.T__.Bar())
> >
> > We have the following constraints in go:
> > 1. We must prefix something from our package with the package name (hence
> > the gremlingo prefix).
> > 2. We must prefix something with a capital letter to export it (hence the
> > T__ instead of __).
> >
> > If anyone has any ideas to make this look nicer or has alternative ideas
> > for this, please suggest them.
> >
> > On Wed, Feb 16, 2022 at 3:54 PM Lyndon Bauto <[email protected]>
> > wrote:
> >
> >> Hi all,
> >>
> >> We have now merged the Gremlin Go Milestone 1 code to
> >> https://github.com/apache/tinkerpop/tree/gremlin-go and have opened a
> >> pull request that contains the code for Milestone 2 (see
> >> https://github.com/apache/tinkerpop/pull/1569).
> >>
> >> With this change, you can now execute programmatic traversals with the
> >> code (see the Getting Started section of
> >> https://github.com/lyndonb-bq/tinkerpop/tree/gremlin-go-ms2/gremlin-go
> >> for more details).
> >>
> >> We are now working on Milestone 3, and as requested, will be adding a
> >> detailed design document to the milestone.
> >>
> >> If anyone is interested in joining in on the effort or has questions
> >> about the driver, please let me know directly, as there are a few others
> >> working on it concurrently and we are moving quickly.
> >>
> >> On Mon, Jan 31, 2022 at 1:01 PM Lyndon Bauto <[email protected]>
> >> wrote:
> >>
> >>> I am happy to report that we have milestone 1 of the Gremlin Go driver
> >>> ready!
> >>>
> >>> Pull request on GitHub which can be reviewed:
> >>> https://github.com/apache/tinkerpop/pull/1556
> >>>
> >>> I would like to thank Yang (https://github.com/xiazcy), Simon (
> >>> https://github.com/simonz-bq), and Rithin (https://github.com/L0Lmaker
> )
> >>> for their contributions. Going forward commit history will be properly
> >>> preserved, unfortunately it ended up getting mangled for the first
> >>> milestone.
> >>>
> >>> If anyone is interested in joining in on the effort, please let me know
> >>> directly, as there are a few others working on it concurrently and
> will be
> >>> moving quickly to Milestone 2.
> >>>
> >>> On Wed, Jan 19, 2022 at 3:16 AM Jorge Bay Gondra <
> >>> [email protected]> wrote:
> >>>
> >>>> Sounds good! looking forward to it! I hope I can have some free cycles
> >>>> to
> >>>> help review it.
> >>>>
> >>>> On Tue, Jan 18, 2022 at 11:25 PM Lyndon Bauto
> >>>> <[email protected]> wrote:
> >>>>
> >>>> > Hi all,
> >>>> >
> >>>> > I am working on a Golang driver for TinkerPop. I will be working on
> >>>> it on
> >>>> > my fork of TinkerPop
> >>>> > <https://github.com/lyndonb-bq/tinkerpop/tree/gremlin-go>. I have
> >>>> laid out
> >>>> > a plan for delivering it below. Each milestone will come to a main
> >>>> branch
> >>>> > on the TinkerPop repo (branch yet to be made) that can be reviewed
> by
> >>>> > anyone interested. If you would like to join in the development of
> the
> >>>> > driver please let me know so we can make sure we are working on
> >>>> separate
> >>>> > things as a couple others are already involved.
> >>>> >
> >>>> > Each milestone will come with a basic README that ought to have
> >>>> enough info
> >>>> > for someone to try out the current features of the driver. If anyone
> >>>> has
> >>>> > any comments or questions on the below plan, feel free to comment.
> >>>> Note -
> >>>> > the first serialization format will be GraphBinary.
> >>>> >
> >>>> > *Milestone 1 - Basic Connectivity with String Traversals*
> >>>> >
> >>>> >    1. Allows string traversals to be sent and received
> >>>> >    2. Returns results as a string
> >>>> >
> >>>> > *Milestone 2 - ResultSet and Programmatic Traversals*
> >>>> >
> >>>> >    1. Proper ResultSet returned (iterable results with proper
> objects,
> >>>> >    might use channel since that is generally preferred in golang)
> >>>> >    2. Programmatic traversal support (g.V().etc())
> >>>> >
> >>>> > *Milestone 3 - TinkerPop Build Infrastructure Integration*
> >>>> >
> >>>> >    1. Gremlin-Go will build in the TinkerPop build infrastructure
> >>>> >    2. Gherkin test suite integration
> >>>> >    3. Go translator written in Java
> >>>> >    4. Docker integration
> >>>> >
> >>>> > *Milestone 4 - Sessions, Strategies, Translator, Remote
> Transactions*
> >>>> >
> >>>> >    1. TraversalStrategies and DriverRemoteConnection strategy
> hookups
> >>>> >    2. Sessions implementation
> >>>> >    3. Remote transactions
> >>>> >
> >>>> > *Milestone 5 - Advanced Driver Features and Configuration Options*
> >>>> >
> >>>> >    1. Connection pooling and load balancing
> >>>> >    2. Custom header injection, keep alive, connection timeout, and
> >>>> >    websocket compression
> >>>> >    3. Authentication methods (IAM, kerberos)
> >>>> >    4. GraphSON - Not sure if this will be required - it may be
> >>>> descoped.
> >>>> >
> >>>> > *Milestone 6 - Performance and Documentation*
> >>>> >
> >>>> >    1. Full documentation on par with other TinkerPop drivers
> >>>> >    2. Performance tests and metrics on Driver performance
> >>>> >
> >>>> > --
> >>>> > *Lyndon Bauto*
> >>>> > Team Lead
> >>>> > Bit Quill Technologies Inc.
> >>>> > [email protected]
> >>>> > https://www.bitquilltech.com
> >>>> >
> >>>>
> >>>
> >>>
> >>> --
> >>> *Lyndon Bauto*
> >>> Team Lead
> >>> Bit Quill Technologies Inc.
> >>> [email protected]
> >>> https://www.bitquilltech.com
> >>>
> >>
> >>
> >> --
> >> *Lyndon Bauto*
> >> Team Lead
> >> Bit Quill Technologies Inc.
> >> [email protected]
> >> https://www.bitquilltech.com
> >>
> >
> >
> > --
> > *Lyndon Bauto*
> > Team Lead
> > Bit Quill Technologies Inc.
> > [email protected]
> > https://www.bitquilltech.com
> >
>
>
> --
> *Lyndon Bauto*
> Team Lead
> Bit Quill Technologies Inc.
> [email protected]
> https://www.bitquilltech.com
>

Reply via email to