This is an automated email from the ASF dual-hosted git repository. jorgebg pushed a commit to branch tp34 in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 2b9f40efb1da6b9ab22e3ffbe700759f4156ec9a Merge: 47e25aa c2108bb Author: Jorge Bay Gondra <jorgebaygon...@gmail.com> AuthorDate: Thu Nov 7 10:07:14 2019 +0100 Merge branch 'TINKERPOP-2305' into tp34 CHANGELOG.asciidoc | 6 + docs/src/upgrade/release-3.4.x.asciidoc | 25 ++ .../tinkerpop/gremlin/structure/io/Buffer.java | 250 +++++++++++++ .../gremlin/structure/io/BufferFactory.java | 21 +- .../gremlin/structure/io}/binary/DataType.java | 5 +- .../structure/io}/binary/GraphBinaryIo.java | 5 +- .../structure/io}/binary/GraphBinaryReader.java | 15 +- .../structure/io}/binary/GraphBinaryWriter.java | 30 +- .../structure/io}/binary/TypeSerializer.java | 16 +- .../io}/binary/TypeSerializerRegistry.java | 18 +- .../io}/binary/types/BigDecimalSerializer.java | 16 +- .../io}/binary/types/BigIntegerSerializer.java | 16 +- .../io}/binary/types/BindingSerializer.java | 17 +- .../io}/binary/types/BulkSetSerializer.java | 19 +- .../io}/binary/types/ByteBufferSerializer.java | 16 +- .../io}/binary/types/ByteCodeSerializer.java | 24 +- .../structure/io}/binary/types/CharSerializer.java | 17 +- .../io}/binary/types/ClassSerializer.java | 17 +- .../io}/binary/types/CollectionSerializer.java | 16 +- .../io}/binary/types/CustomTypeSerializer.java | 4 +- .../structure/io}/binary/types/DateSerializer.java | 14 +- .../io}/binary/types/DurationSerializer.java | 16 +- .../structure/io}/binary/types/EdgeSerializer.java | 17 +- .../structure/io}/binary/types/EnumSerializer.java | 16 +- .../io}/binary/types/GraphSerializer.java | 25 +- .../io}/binary/types/InetAddressSerializer.java | 18 +- .../io}/binary/types/InstantSerializer.java | 16 +- .../io}/binary/types/LambdaSerializer.java | 17 +- .../structure/io}/binary/types/ListSerializer.java | 16 +- .../io}/binary/types/LocalDateSerializer.java | 16 +- .../io}/binary/types/LocalDateTimeSerializer.java | 16 +- .../io}/binary/types/LocalTimeSerializer.java | 16 +- .../io}/binary/types/MapEntrySerializer.java | 18 +- .../structure/io}/binary/types/MapSerializer.java | 16 +- .../io}/binary/types/MetricsSerializer.java | 16 +- .../io}/binary/types/MonthDaySerializer.java | 16 +- .../io}/binary/types/OffsetDateTimeSerializer.java | 16 +- .../io}/binary/types/OffsetTimeSerializer.java | 16 +- .../structure/io}/binary/types/PSerializer.java | 24 +- .../structure/io}/binary/types/PathSerializer.java | 16 +- .../io}/binary/types/PeriodSerializer.java | 16 +- .../io}/binary/types/PropertySerializer.java | 17 +- .../structure/io}/binary/types/SetSerializer.java | 16 +- .../io}/binary/types/SimpleTypeSerializer.java | 33 +- .../io}/binary/types/SingleTypeSerializer.java | 36 +- .../io}/binary/types/StringSerializer.java | 14 +- .../io}/binary/types/TransformSerializer.java | 4 +- .../types/TraversalExplanationSerializer.java | 18 +- .../binary/types/TraversalMetricsSerializer.java | 16 +- .../binary/types/TraversalStrategySerializer.java | 16 +- .../io}/binary/types/TraverserSerializer.java | 17 +- .../structure/io}/binary/types/TreeSerializer.java | 17 +- .../structure/io}/binary/types/UUIDSerializer.java | 14 +- .../io}/binary/types/VertexPropertySerializer.java | 17 +- .../io}/binary/types/VertexSerializer.java | 17 +- .../io}/binary/types/YearMonthSerializer.java | 16 +- .../io}/binary/types/ZoneOffsetSerializer.java | 16 +- .../io}/binary/types/ZonedDateTimeSerializer.java | 16 +- .../driver/ser/GraphBinaryMessageSerializerV1.java | 10 +- .../tinkerpop/gremlin/driver/ser/NettyBuffer.java | 267 ++++++++++++++ .../gremlin/driver/ser/NettyBufferFactory.java | 114 ++++++ .../ser/binary/RequestMessageSerializer.java | 58 +++- .../ser/binary/ResponseMessageSerializer.java | 65 ++-- .../gremlin/driver/ser/NettyBufferFactoryTest.java | 385 +++++++++++++++++++++ .../binary/GraphBinaryMessageSerializerV1Test.java | 1 + .../GraphBinaryReaderWriterRoundTripTest.java | 8 +- .../ser/binary/TypeSerializerFailureTests.java | 11 +- .../ser/binary/TypeSerializerRegistryTest.java | 29 +- .../ser/binary/types/CharSerializerTest.java | 23 +- .../types/sample/SamplePersonSerializer.java | 19 +- .../types/sample/SamplePersonSerializerTest.java | 25 +- .../driver/GraphBinaryReaderWriterBenchmark.java | 29 +- .../gremlin/driver/SerializationBenchmark.java | 2 +- .../scripts/generate-graphbinary-resources.groovy | 7 +- .../graphbinary/GraphBinaryCompatibilityTest.java | 21 +- 75 files changed, 1704 insertions(+), 580 deletions(-) diff --cc CHANGELOG.asciidoc index c896cd7,8841204..1e159b5 --- a/CHANGELOG.asciidoc +++ b/CHANGELOG.asciidoc @@@ -20,17 -20,14 +20,23 @@@ limitations under the License image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/images/avant-gremlin.png[width=185] + [[release-3-4-5]] + === TinkerPop 3.4.5 (Release Date: NOT OFFICIALLY RELEASED YET) + + * GraphBinary: Introduced our own `Buffer` API as a way to wrap Netty's Buffer API. Moved `GraphBinaryReader`, + `GraphBinaryWriter` and `TypeSerializer<T>` to gremlin-core. + [[release-3-4-4]] -=== TinkerPop 3.4.4 (Release Date: NOT OFFICIALLY RELEASED YET) +=== TinkerPop 3.4.5 (Release Date: NOT OFFICIALLY RELEASED YET) + +This release also includes changes from <<release-3-3-10, 3.3.10>>. + +* Bump to Netty 4.1.42 + +[[release-3-4-4]] +=== TinkerPop 3.4.4 (Release Date: October 14, 2019) + +This release also includes changes from <<release-3-3-9, 3.3.9>>. * Provided support for DSLs by way of remote connections through `AnonymousTraversalSource`. * Added `elementMap()` step. diff --cc docs/src/upgrade/release-3.4.x.asciidoc index d7b14a3,98e1f6c..8fce2e7 --- a/docs/src/upgrade/release-3.4.x.asciidoc +++ b/docs/src/upgrade/release-3.4.x.asciidoc @@@ -21,9 -21,34 +21,34 @@@ image::https://raw.githubusercontent.co *Avant-Gremlin Construction #3 for Theremin and Flowers* + == TinkerPop 3.4.5 + + *Release Date: NOT OFFICIALLY RELEASED YET* + + Please see the link:https://github.com/apache/tinkerpop/blob/3.4.5/CHANGELOG.asciidoc#release-3-4-5[changelog] for a + complete list of all the modifications that are part of this release. + + === Upgrading for Providers + + ==== Graph Driver Providers + + ===== GraphBinary API Change + + In GraphBinary serialization, Java `GraphBinaryReader` and `GraphBinaryWriter`, along with `TypeSerializer<T>` + interface now take a `Buffer` instance instead of Netty's `ByteBuf`, that way we avoid exposing Netty's API in our own + public API. + + Using our own `Buffer` interface, wrapping Netty's buffer API, allowed us to move `TypeSerializer<T>` implementations, + the reader and the writer to `org.apache.tinkerpop.gremlin.structure.io.binary` package in `gremlin-core`. + + Additionally, `GraphBinaryReader` and `GraphBinaryWriter` methods now throw an java's `IOException`, instead of our + own `SerializationException`. + + See: link:https://issues.apache.org/jira/browse/TINKERPOP-2305[TINKERPOP-2305] + == TinkerPop 3.4.4 -*Release Date: NOT OFFICIALLY RELEASED YET* +*Release Date: October 14, 2019* Please see the link:https://github.com/apache/tinkerpop/blob/3.4.4/CHANGELOG.asciidoc#release-3-4-4[changelog] for a complete list of all the modifications that are part of this release.