With GraphBinary coming around, I think the future of Gryo is dying at least insofar as Gremlin Server is concerned. I'm currently making it so that the Gremlin Console can work with GraphBinary so that we remove dependency on Gryo for anything in that part of the TinkerPop stack. That essentially makes it possible to deprecate Gryo for Gremlin Server in 3.4.3 and then set it up for removal from Gremlin Server for 3.5.0. That removal turns out to be helpful because I sense breaking changes coming in 3.5.0 that will not translate well to Gryo compatibility between 3.4.x and 3.5.0 (which means Gryo 4.0 - rather not do that just for Gremlin Server's purposes anyway).
If that much sounds sensible, then perhaps the next part might be too. More radically speaking, I suppose it would be smart to consider completely deprecating Gryo in 3.4.3 and removing it in 3.5.0 across the board and really focusing on pushing GraphBinary. We'd get rid of a fat body of code, slim down our use of shading, simplify our serialization story, reduce the testing footprint, set up for TinkerPop having a smaller more concise type set and probably other good things. The downside is that OLAP stuff is massively dependent on Gryo, I think largely because of Spark's dependency on Kryo. We'd have to see all the OLAP stuff go to GraphBinary somehow - eeek! Anyway, just thought I'd hang these thoughts out there for discussion in case anyone had any opinions on the matter. If not, I will at least look to go forward with the first part of this effort in getting Gryo deprecated in 3.4.3 so as not to compete with GraphBinary and look to remove configurations/support in Gremlin Server for 3.5.0. Further thinking can go into its full removal at a later time. Thanks, Stephen
