1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/apache-tinkerpop

Клонировать/Скачать
changelog-3.1.x.asciidoc 45 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Yang Xia Отправлено 07.12.2024 00:22 3d93853

TinkerPop 3.1.0 (A 187 On The Undercover Gremlinz)

gremlin gangster

TinkerPop 3.1.8 (Release Date: August 21, 2017)

  • Fixed a MessageScope bug in TinkerGraphComputer.

  • Fixed a bug in BigDecimal divisions in NumberHelper that potentially threw an ArithmeticException.

  • Non-deserializable exceptions no longer added to ScriptRecordReader IOExceptions.

Bugs

  • TINKERPOP-1519 TinkerGraphComputer doesn’t handle multiple MessageScopes in single iteration

  • TINKERPOP-1736 Sack step evaluated by Groovy interprets numbers in an unexpected way

  • TINKERPOP-1754 Spark can not deserialise some ScriptRecordReader parse exceptions

TinkerPop 3.1.7 (Release Date: June 12, 2017)

  • Configured Modern and The Crew graphs to work with a integer IdManager when TinkerFactory.createXXX() is called.

  • Added XSLT transform option to convert TinkerPop 2.x GraphML to 3.x GraphML.

  • Added validation to StarVertexProperty.

  • Bumped to Jackson 2.8.7.

  • Fixed EventStrategy so that newly added properties trigger events with the name of the key that was added.

  • Drop use of jitpack for the jbcrypt artifact - using the official one in Maven Central.

  • Bumped to Groovy 2.4.11.

Improvements

  • TINKERPOP-1504 MutationListener doesn’t provide property key on property additions

  • TINKERPOP-1608 TP2-to-TP3 GraphML XSLT

  • TINKERPOP-1633 Use org.mindrot:jbcrypt v0.4

  • TINKERPOP-1645 Bump to Groovy 2.4.9

  • TINKERPOP-1654 Upgrade to jackson-databind 2.8.6+ in gremlin-shaded

  • TINKERPOP-1659 Docker build should use maven settings.xml

  • TINKERPOP-1664 StarVertexProperty#property should throw an NPE if the value is null

TinkerPop 3.1.6 (Release Date: February 3, 2017)

  • Fixed bug in IncidentToAdjacentStrategy, it was missing some invalidating steps.

  • Returned a confirmation on session close from Gremlin Server.

  • Use non-default port for running tests on Gremlin Server.

  • Fully shutdown metrics services in Gremlin Server on shutdown.

  • Deprecated tryRandomCommit() in AbstractGremlinTest - the annotation was never added in 3.1.1, and was only deprecated via javadoc.

  • Minor fixes to various test feature requirements in gremlin-test.

  • Allow developers to pass options to docker run with TINKERPOP_DOCKER_OPTS environment variable

Bugs

  • TINKERPOP-1493 Groovy project doesn’t build on Windows

  • TINKERPOP-1545 IncidentToAdjacentStrategy is buggy

Improvements

  • TINKERPOP-1538 Gremlin Server spawned by test suites should use a different port

  • TINKERPOP-1544 Return a confirmation of session close

  • TINKERPOP-1556 Allow Hadoop to run on IPv6 systems

  • TINKERPOP-1557 Improve docker build time with this one weird trick!

  • TINKERPOP-1598 Bump to Grovy 2.4.8

TinkerPop 3.1.5 (Release Date: October 17, 2016)

  • Improved handling of Cluster.close() and Client.close() to prevent the methods from hanging.

  • Fixed a bug in NotStep where child requirements were not being analyzed.

  • Fixed output redirection and potential memory leak in GremlinGroovyScriptEngine.

  • Corrected naming of g_withPath_V_asXaX_out_out_mapXa_name_it_nameX and g_withPath_V_asXaX_out_mapXa_nameX in MapTest.

  • Improved session cleanup when a close is triggered by the client.

  • Removed the appveyor.yml file as the AppVeyor build is no longer enabled by Apache Infrastructure.

  • Fixed TinkerGraph which was not saving on close() if the path only consisted of the file name.

  • Fixed a bug in RangeByIsCountStrategy which didn’t use the NotStep properly.

Bugs

  • TINKERPOP-1158 gremlin.sh -v emits log4j initialization errors

  • TINKERPOP-1391 issue with where filter

  • TINKERPOP-1442 Killing session should make better attempt to cleanup

  • TINKERPOP-1451 TinkerGraph persistence cannot handle a single file name as the graph location

  • TINKERPOP-1467 Improve close() operations on the Java driver

  • TINKERPOP-1478 Propogate ScriptEngine fixes from groovy to GremlinGroovyScriptEngine

  • TINKERPOP-1512 gremlin-server-classic.yaml is broken

Improvements

  • TINKERPOP-927 bin/publish-docs.sh should only upload diffs.

  • TINKERPOP-1264 Improve BLVP docs

  • TINKERPOP-1477 Make DependencyGrabberTest an integration test

TinkerPop 3.1.4 (Release Date: September 6, 2016)

  • Improved the error provided by a client-side session if no hosts were available.

  • Fixed a bug in PropertiesTest which assumed long id values.

  • Fixed a bug in StarGraph around self-edges.

  • Fixed a potential leak of a ReferenceCounted resource in Gremlin Server.

  • Renamed distributions to make the prefix "apache-tinkerpop-" as opposed to just "apache-".

  • Fixed a problem (previously thought resolved on 3.1.3) causing Gremlin Server to lock up when parallel requests were submitted on the same session if those parallel requests included a script that blocked indefinitely.

  • Fixed bug in TailGlobalStep where excess bulk was not accounted for correctly.

Bugs

  • TINKERPOP-1350 Server locks when submitting parallel requests on session

  • TINKERPOP-1375 Possible ByteBuf leak for certain transactional scenarios

  • TINKERPOP-1377 Closing a remote in "console mode" has bad message

  • TINKERPOP-1379 unaccounted excess in TailGlobalStep

  • TINKERPOP-1397 StarVertex self edge has buggy interaction with graph filters

  • TINKERPOP-1419 Wrong exception when a SessionedClient is initialized with no available host

Improvements

  • TINKERPOP-989 Default documentation should be reference/index.html

  • TINKERPOP-1376 Rename TinkerPop artifacts

  • TINKERPOP-1413 PropertiesTest#g_V_hasXageX_propertiesXnameX assumes that ids are longs

  • TINKERPOP-1416 Write Gremlin Server log files somewhere during doc generation

  • TINKERPOP-1418 CoreTraversalTests depend on missing functionality

TinkerPop 3.1.3 (Release Date: July 18, 2016)

  • Fixed bug in SubgraphStep where features were not being checked properly prior to reading meta-properties.

  • Ensured calls to Result.hasNext() were idempotent.

  • Avoid hamcrest conflict by using mockito-core instead of mockito-all dependency in gremlin-test.

  • Fixed bug in GremlinExecutor causing Gremlin Server to lock up when parallel requests were submitted on the same session if those parallel requests included a script that blocked indefinitely.

  • Changed GremlinExecutor timeout scheduling so that the timer would not start until a time closer to the actual start of script evaluation.

  • Fixed bug in SubgraphStrategy where step labels were not being propogated properly to new steps injected by the strategy.

  • Fix incorrect test FeatureRequirement annotations.

  • Defaulted to Edge.DEFAULT if no edge label was supplied in GraphML.

  • Fixed bug in IoGraphTest causing IllegalArgumentException: URI is not hierarchical error for external graph implementations.

  • Fixed bug in GremlinGroovyScriptEngineFileSandboxTest resource loading

  • Improved TinkerGraph performance when iterating vertices and edges.

  • Fixed a bug where timeout functions provided to the GremlinExecutor were not executing in the same thread as the script evaluation.

  • Fixed a bug in the driver where many parallel requests over a session would sometimes force a connection to close and replace itself.

  • Graph providers should no longer rely on the test suite to validate that hyphens work for property keys.

  • Optimized a few special cases in RangeByIsCountStrategy.

  • Added more "invalid" variable bindings to the list used by Gremlin Server to validate incoming bindings on requests.

  • Fixed a bug where the ConnectionPool in the driver would not grow with certain configuration options.

  • Fixed a bug where pauses in Gremlin Server writing to an overtaxed client would generate unexpected FastNoSuchElementException errors.

  • Named the thread pool used by Gremlin Server sessions: "gremlin-server-session-$n".

  • Fixed a bug in BulkSet.equals() which made itself apparent when using store() and aggregate() with labeled cap().

  • Fixed a bug where Result.one() could potentially block indefinitely under certain circumstances.

  • Ensured that all asserts of vertex and edge counts were being applied properly in the test suite.

  • Fixed bug in gremlin-driver where certain channel-level errors would not allow the driver to reconnect.

  • SubgraphStep now consults the parent graph features to determine cardinality of a property.

  • Use of Ctrl-C in Gremlin Console now triggers closing of open remotes.

  • Bumped SLF4J to 1.7.21 as previous versions suffered from a memory leak.

  • Fixed a bug in Neo4jGraphStepStrategy where it wasn’t defined properly as a ProviderOptimizationStrategy.

  • Renamed AndTest.get_g_V_andXhasXage_gt_27XoutE_count_gt_2X_name to get_g_V_andXhasXage_gt_27XoutE_count_gte_2X_name to match the traversal being tested.

  • Fixed a self-loop bug in StarGraph.

  • Added configuration option for disabling :remote timeout with :remote config timeout none.

  • Added init-tp-spark.sh to Gremlin Console binary distribution.

  • Fixed bug where use of :x in a Gremlin Console initialization script would generate a stack trace.

  • Added configuration options to Gremlin Driver and Server to override the SSL configuration with an SslContext.

  • Added driver configuration settings for SSL: keyCertChainFile, keyFile and keyPassword.

  • Fixed bug where transaction managed sessions were not properly rolling back transactions for exceptions encountered during script evaluation.

  • Fixed bug in :uninstall command if the default /ext directory was not used.

  • Added support to Gremlin Driver to allow either plain text or GSSAPI SASL authentication allowing the client to pass the SASL mechanism in the request.

  • Improved dryRun functionality for the docs processor. It’s now possible to dry run (or full run) only specific files.

  • Added precompile of ScriptInputFormat scripts to ScriptRecordReader to improve performance.

Bugs

  • TINKERPOP-906 Install plugin always fails after first unresolved dependency

  • TINKERPOP-1088 Preserve Cardinality in Subgraph

  • TINKERPOP-1092 Gremlin Console init script with :x throws exception

  • TINKERPOP-1139 [Neo4JGraph] GraphTraversal with SubgraphStrategy removes addLabelStep (as("b"))

  • TINKERPOP-1196 Calls to Result.one() might block indefinitely

  • TINKERPOP-1215 Labeled a SideEffectCapStep cause problems.

  • TINKERPOP-1242 ScriptEngineTest randomly hangs indefinately.

  • TINKERPOP-1257 Bad SackTest variable use.

  • TINKERPOP-1265 Managed Session Eval Exceptions Rollback

  • TINKERPOP-1272 Gremlin Console distribution needs bin/init-tp-spark.sh

  • TINKERPOP-1284 StarGraph does not handle self-loops correctly.

  • TINKERPOP-1300 Many asserts around vertex/edge counts on graphs not applied

  • TINKERPOP-1317 IoGraphTest throws error: URI is not hierarchical

  • TINKERPOP-1318 java.lang.NoSuchMethodError: org/hamcrest/Matcher.describeMismatch

  • TINKERPOP-1319 several FeatureRequirement annotations are incorrect in gremlin-test

  • TINKERPOP-1320 GremlinGroovyScriptEngineFileSandboxTest throws error: URI is not hierarchical

  • TINKERPOP-1324 Better error for invalid args to addV()

  • TINKERPOP-1350 Server locks when submitting parallel requests on session

  • TINKERPOP-1351 Number of connections going beyond the pool max size

  • TINKERPOP-1352 Connection Pool doesn’t always grow

  • TINKERPOP-1359 Exception thrown when calling subgraph() on Neo4jGraph

  • TINKERPOP-1360 intermittent error in spark-gremlin integration test

Improvements

  • TINKERPOP-939 Neo4jGraph should support HighAvailability (Neo4jHA).

  • TINKERPOP-1003 Setting up latest/current links for bins and docs.

  • TINKERPOP-1020 Provide --dryRun selectivity for "half publishing" docs.

  • TINKERPOP-1063 TinkerGraph performance enhancements

  • TINKERPOP-1229 More Descriptive Messaging for :remote console

  • TINKERPOP-1260 Log for validate-distribution.sh

  • TINKERPOP-1263 Pass SASL mechanism name through with initial SASL response

  • TINKERPOP-1267 Configure Console for no timeout on remote requests

  • TINKERPOP-1269 More SSL settings for driver

  • TINKERPOP-1295 Precompile ScriptInputFormat scripts once during initialization of ScriptRecordReader

  • TINKERPOP-1301 Provide Javadoc for ScriptInput/OutputFormat’s

  • TINKERPOP-1302 Ctrl-C should kill open remotes in Console

  • TINKERPOP-1312 .count().is(0) is not properly optimized

  • TINKERPOP-1314 Improve error detection in docs preprocessor

  • TINKERPOP-1354 Include all static enum imports in request validation for bindings (breaking)

TinkerPop 3.1.2 (Release Date: April 8, 2016)

  • Fixed two NullPointerException-potential situations in ObjectWritable.

  • Provided Docker script that allows the execution of several build tasks within a Docker container.

  • Added a per-request scriptEvaluationTimeout option to the Gremlin Server protocol.

  • Changed DriverRemoteAcceptor to send scripts as multi-line.

  • Fixed a bug in gremlin-driver where connections were not returning to the pool after many consecutive errors.

  • Fixed a bug where tree() did not serialize into GraphSON.

  • Bumped to SLF4j 1.7.19.

  • Bumped to Apache Hadoop 2.7.2.

  • Fixed a bug in gremlin-driver where a really fast call to get a Future to wait for a result might not register an error raised from the server.

  • Fixed a severe bug where LP_O_OB_P_S_SE_SL_Traverser was not registered with GryoMapper.

  • The future from GremlinExecutor.eval() is completed after the entire evaluation lifecyle is completed.

  • Spark Memory uses collect().iterator() instead of toLocalIterator() to reduce noise in Spark UI.

  • Added the :remote console option which flips the Gremlin Console into a remote-only mode where all script evaluation is routed to the currently configured remote, which removes the need to use the :> command.

  • Added allowRemoteConsole() to the RemoteAcceptor interface.

  • The :remote for tinkerpop.server now includes an option to establish the connection as a "session".

  • Provided an implementation for calls to SessionedClient.alias(), which formerly threw an UnsupportedOperationException.

  • Bumped to commons-collections 3.2.2.

  • Fixed a bug where OrderGlobalStep and OrderLocalStep were not incorporating their children’s traverser requirements.

  • Fixed a compilation bug in TraversalExplanation.

  • Fixed bug where a session explicitly closed was being closed again by session expiration.

  • Improved the recovery options for gremlin-driver after failed requests to Gremlin Server.

  • Added maxWaitForSessionClose to the settings for gremlin-driver.

  • Bumped to Netty 4.0.34.Final.

  • Added "interpreter mode" for the ScriptEngine and Gremlin Server which allows variables defined with def or a type to be recognized as "global".

  • Bumped to Apache Groovy 2.4.6.

  • Added the gremlin-archetype-server archetype that demonstrates

  • Added the gremlin-archetype-tinkergraph archetype that demonstrates a basic project that uses TinkerGraph.

  • Added gremlin-archetype module to house TinkerPop "examples".

  • Fixed a condition where ConnectionPool initialization in the driver would present a NullPointerException on initialization if there were errors constructing the pool in full.

  • Fixed a bug in the round-robin load balancing strategy in the driver would waste requests potentially sending messages to dead hosts.

  • Added new Provider Documentation book - content for this book was extracted from the reference documentation.

  • Fixed a bug where multiple "close" requests were being sent by the driver on Client.close().

  • Fixed an Property attach bug that shows up in serialization-based GraphComputer implementations.

  • Fixed a pom.xml bug where Gremlin Console/Server were not pulling the latest Neo4j 2.3.2.

  • Fixed bug in "round robin" load balancing in gremlin-driver where requests were wrongly being sent to the same host.

  • Prevented the spawning of unneeded reconnect tasks in gremlin-driver when a host goes offline.

  • Fixed bug preventing gremlin-driver from reconnecting to Gremlin Server when it was restarted.

  • Better handled errors that occurred on commits and serialization in Gremlin Server to first break the result iteration loop and to ensure commit errors were reported to the client.

  • Added GraphSON serializers for the java.time.* classes.

  • Improved the logging of the Gremlin Server REST endpoint as it pertained to script execution failures.

  • TraversalExplanation is now Serializable and compatible with GraphSON and Gryo serialization.

  • Fixed a problem with global bindings in Gremlin Server which weren’t properly designed to handle concurrent modification.

  • Deprecated ScriptElementFactory and made the local StarGraph globally available for ScriptInputFormat's parse() method.

  • Improved reusability of unique test directory creation in /target for AbstractGraphProvider, which was formerly only available to Neo4j, by adding makeTestDirectory().

  • Optimized memory-usage in TraversalVertexProgram.

  • Graph instances are not merely "closed" at the end of tests, they are "cleared" via GraphProvider.clear(), which should in turn cleans up old data for an implementation.

  • Expanded the Gremlin Server protocol to allow for transaction management on in-session requests and updated the gremlin-driver to take advantage of that.

  • Greatly reduced the amount of objects required in OLAP for the ReducingBarrierStep steps.

  • Improved messages for the different distinct "timeouts" that a user can encounter with Gremlin Server.

Bugs

  • TINKERPOP-1041 StructureStandardTestSuite has file I/O issues on Windows

  • TINKERPOP-1105 SparkGraphComputer / Null Pointer Exceptions for properties traversals

  • TINKERPOP-1106 Errors on commit in Gremlin Server don’t register as exception on driver

  • TINKERPOP-1125 RoundRobin load balancing always uses the second Host when size = 2

  • TINKERPOP-1126 A single Host spawns many reconnect tasks

  • TINKERPOP-1127 client fails to reconnect to restarted server

  • TINKERPOP-1146 IoTest are not clearing the db after the test run

  • TINKERPOP-1148 ConcurrentModificationException with bindings in Gremlin Server

  • TINKERPOP-1150 Update pom file dependencies to work with Neo4j 2.3.2

  • TINKERPOP-1159 Client sends multiple session close messages per host

  • TINKERPOP-1168 Switch plugins in docs preprocessor

  • TINKERPOP-1172 Reconnect to Gremlin Server previously marked as dead

  • TINKERPOP-1175 Anonymous traversals can’t be explained

  • TINKERPOP-1184 Sessions not being closed properly

  • TINKERPOP-1216 OrderStep or O_Traverser is broken

  • TINKERPOP-1239 Excessive continual failure for requests can cause TimeoutException in driver

  • TINKERPOP-1245 Gremlin shell starts incorrectly on OS X due to awk difference

  • TINKERPOP-1251 NPE in ObjectWritable.toString

  • TINKERPOP-1252 Failed Neo4j transaction can leave Neo4jTransaction in inconsistent state

Improvements

  • TINKERPOP-732 gremlin-server GraphSON serializer issue with tree()

  • TINKERPOP-916 Develop a better "simple" driver for testing and example purposes

  • TINKERPOP-937 Extract the implementations sections of the primary documentation to its own book

  • TINKERPOP-956 Connection errors tend to force a complete close of the channel

  • TINKERPOP-1039 Enable auto-commit for session’d requests.

  • TINKERPOP-1068 Bump to support jbcrypt-0.4m.jar

  • TINKERPOP-1080 Bump Netty version - 4.0.34.Final

  • TINKERPOP-1085 Establish TinkerPop "example" projects

  • TINKERPOP-1096 Support aliasing for sessions in Gremlin Server

  • TINKERPOP-1097 Gremlin Console supporting sessions

  • TINKERPOP-1107 Provide a way to support global variables with sandboxing enabled

  • TINKERPOP-1109 Make Gremlin Console better suited for system level installs

  • TINKERPOP-1131 TraversalVertexProgram traverser management is inefficient memory-wise.

  • TINKERPOP-1135 Improve GraphSON representation of java.time.* classes

  • TINKERPOP-1137 Deprecate ScriptElementFactory and make star graph globally available

  • TINKERPOP-1138 Improve messaging on server timeouts

  • TINKERPOP-1147 Add serialization for TraversalExplanation

  • TINKERPOP-1160 Add timeout configuration for time to wait for connection close

  • TINKERPOP-1165 Tooling Support: Compile with -parameters

  • TINKERPOP-1176 Bump Groovy version - 2.4.6

  • TINKERPOP-1177 Improve documentation around Spark’s storage levels

  • TINKERPOP-1197 Document Gremlin Server available metrics

  • TINKERPOP-1198 Bump commons-collections to 3.2.2

  • TINKERPOP-1213 missing docs for has(label, key, value)

  • TINKERPOP-1218 Usage of toLocalIterator Produces large amount of Spark Jobs

TinkerPop 3.1.1 (Release Date: February 8, 2016)

  • Made GryoRecordReader more robust to 0 byte record splits.

  • Fixed a constructor/serialization bug in LP_O_OB_S_SE_SL_Traverser.

  • Added a lazy iterator, memory safe implementation of MapReduce to SparkGraphComputer.

  • Added MapReduce.combine() support to SparkGraphComputer.

  • Bumped to Neo4j 2.3.2.

  • Fixed Java comparator contract issue around Order.shuffle.

  • Optimized a very inefficient implementation of SampleLocalStep.

  • Reduced the complexity and execution time of all AbstractLambdaTraversal instances.

  • DefaultTraversal has a well defined hashCode() and equals().

  • Added serializers to Gryo for java.time related classes.

  • Integrated NumberHelper in SackFunctions.

  • Deprecated VertexPropertyFeatures.supportsAddProperty() which effectively was a duplicate of VertexFeatures.supportsMetaProperties.

  • The Spark persistence StorageLevel can now be set for both job graphs and PersistedOutputRDD data.

  • Added to the list of "invalid binding keys" allowed by Gremlin Server to cover the private fields of T which get exposed in the ScriptEngine on static imports.

  • Added BulkDumperVertexProgram that allows to dump a whole graph in any of the supported IO formats (GraphSON, Gryo, Script).

  • Fixed a bug around duration calculations of cap()-step during profiling.

  • It is possible to completely avoid using HDFS with Spark if PersistedInputRDD and PersistedOutpuRDD are leveraged.

  • InputRDD and OutputRDD can now process both graphs and memory (i.e. sideEffects).

  • Removed Groovy specific meta-programming overloads for handling Hadoop FileSystem (instead, its all accessible via FileSystemStorage).

  • Added FileSystemStorage and SparkContextStorage which both implement the new Storage API.

  • Added Storage to the gremlin-core io-package which providers can implement to allow conventional access to data sources (e.g. ls(), rm(), cp(), etc.).

  • Bumped to Spark 1.5.2.

  • Bumped to Groovy 2.4.5.

  • Added --noClean option in bin/process-docs.sh to prevent the script from cleaning Grapes and HDFS.

  • Execute the LifeCycle.beforeEval() in the same thread that eval() is executed in for GremlinExecutor.

  • Improved error handling of Gremlin Console initialization scripts to better separate errors in initialization script I/O versus execution of the script itself.

  • Fixed a bug in Graph.OptOut when trying to opt-out of certain test cases with the method property set to "*".

  • Added another BulkLoader implementation (OneTimeBulkLoader) that doesn’t store temporary properties in the target graph.

  • Added option to allow for a custom ClassResolver to be assigned to a GryoMapper instance.

  • Fixed a SparkGraphComputer sorting bug in MapReduce that occurred when there was more than one partition.

  • Added strictTransactionManagement to the Gremlin Server settings to indicate that the aliases parameter must be passed on requests and that transaction management will be scoped to the graphs provided in that argument.

  • Fixed a NullPointerException bug in PeerPressureVertexProgram that occurred when an adjacency traversal was not provided.

  • Standardized "test data directories" across all tests as generated by TestHelper.

  • Fixed a bug in Gremlin Server where error messages were not always being passed back in the statusMessage field of the ResponseMessage.

  • Added validation for parameter bindings to ensure that keys were String values.

  • Improved Transaction Management consistency in Gremlin Server.

  • Added FileSandboxExtension which takes a configuration file to white list methods and classes that can be used in ScriptEngine execution.

  • Deprecated SandboxExtension and SimpleSandboxExtension in favor of AbstractSandboxExtension which provides better abstractions for those writing sandboxes.

  • Fixed a long standing "view merge" issue requiring reduceByKey() on input data to Spark. It is no longer required.

  • Added Spark static object to allow "file system" control of persisted RDDs in Spark.

  • Added a Spark "job server" to ensure that persisted RDDs are not garbage collected by Spark.

  • Improved logging control during builds with Maven.

  • Fixed settings that weren’t being passed to the Gremlin Driver Cluster through configuration file.

  • Column now implements Function. The modulator by(valueDecr) can be replaced by by(values,decr) and thus, projection and order are separated.

  • Added InputRDDFormat which wraps an InputRDD to make it accessible to Hadoop and not just Spark.

  • Added AbstractSparkTest which handles closing SparkContext instances between tests now that we support persisted contexts.

  • Fixed a serialization bug in GryoSerializer that made it difficult for graph providers to yield InputRDDs for SparkGraphComputer.

  • SparkGraphComputer is now tested against Gryo, GraphSON, and InputRDD data sources.

  • HadoopElementIterator (for Hadoop-Gremlin OLTP) now works for any InputFormat, not just FileInputFormats.

  • Added Traverser.Admin.getTags() which are used to mark branches in a traversal (useful in match() and related future steps).

  • Fixed the Future model for GiraphGraphComputer and SparkGraphComputer so that class loaders are preserved.

  • Added support for arbitrary vertex ID types in BulkLoaderVertexProgram.

  • Deprecated credentialsDbLocation from SimpleAuthenticator in Gremlin Server.

  • TinkerGraph has "native" serialization in GraphSON, which enables it to be a return value from Gremlin Server.

  • Improved the ability to embed Gremlin Server by providing a way to get the ServerGremlinExecutor and improve reusability of AbstractEvalOpProcessor and related classes.

  • Added Authenticator.newSaslNegotiator(InetAddress) and deprecated the zero-arg version of that method.

  • ProfileStep is now available off of Traversal via profile(). To be consistent with Traversal.explain().

  • If no comparator is provided to order(), Order.incr is assumed (previously, an exception occurred).

  • Fixed various Gremlin-Groovy tests that assumed toString()-able ids.

  • Split TinkerPop documentation into different directories.

  • Added explain()-step which yields a TraversalExplanation with a pretty toString() detailing the compilation process.

  • Fixed a traversal strategy ordering bug in AdjacentToIncidentStrategy and IncidentToAdjacentStrategy.

  • Made a number of changes to improve traversal startup and execution performance.

  • Added support for 'gremlin.tinkergraph.graphLocation' to accept a fully qualified class name that implements Io.Builder interface.

Bugs

  • TINKERPOP-763 IsStep broken when profiling is enabled.

  • TINKERPOP-972 Cluster::close does not shut down its executor

  • TINKERPOP-973 BLVP shouldn’t clear configuration properties

  • TINKERPOP-976 Fail earlier if invalid version is supplied in validate-distribution.sh

  • TINKERPOP-977 Dead link to traversal javadocs

  • TINKERPOP-979 ComputerVerificationStrategy not picking up Order local traversal

  • TINKERPOP-985 shouldPersistDataOnClose makes incorrect feature check

  • TINKERPOP-990 Mixed types in VertexPropertyTest

  • TINKERPOP-993 cyclicPath is not(simplePath)

  • TINKERPOP-997 FeatureRequirementSet.SIMPLE should not require multi-property (breaking)

  • TINKERPOP-1000 GremlinGroovyScriptEngineOverGraphTest failures

  • TINKERPOP-1001 SugarLoaderPerformanceTest contains hardcoded vertex ids

  • TINKERPOP-1002 Should rollback transaction after catching on close

  • TINKERPOP-1006 Random error during builds: shouldReloadClassLoaderWhileDoingEvalInSeparateThread()

  • TINKERPOP-1011 HadoopGraph can’t re-attach when the InputFormat is not a FileInputFormat

  • TINKERPOP-1012 BulkLoaderVertexProgram shouldn’t assume vertex IDs of type Long

  • TINKERPOP-1025 Solve SparkContext Persistence Issues with BulkLoaderVertexProgram

  • TINKERPOP-1027 Merge view prior to writing graphRDD to output format/rdd

  • TINKERPOP-1036 Support self-looping edges in IO

  • TINKERPOP-1052 @Graph.OptOut causes Exception during Suite setup

  • TINKERPOP-1060 LambdaRestrictionStrategy too restrictive

  • TINKERPOP-1075 Profile duration of cap step seems broken.

  • TINKERPOP-1083 Traversal needs a hashCode() and equals() definition.

  • TINKERPOP-1089 Order.shuffle implementation is too fragile

  • TINKERPOP-1119 LP_O_OB_S_SE_SL_Traverser doesn’t have a protected constructor().

Improvements

  • TINKERPOP-320 BulkDumperVertexProgram

  • TINKERPOP-379 MessageScope.Local.setStaticMessage(M msg)

  • TINKERPOP-824 Do we need runtime BigDecimal in more places?

  • TINKERPOP-859 Provide a more general way to set log levels in plugins

  • TINKERPOP-860 Bindings applied to the PluginAcceptor should appear to Gremlin Server

  • TINKERPOP-886 Allow any GraphReader/Writer to be persistence engine for TinkerGraph

  • TINKERPOP-891 Re-examine Sandboxing Abstractions

  • TINKERPOP-912 Improve the ability to embed Gremlin Server with Channelizer injection

  • TINKERPOP-928 Use directories to separate different books

  • TINKERPOP-930 Tie Alias to Transaction Manager in Gremlin Server

  • TINKERPOP-938 Add a "clear SNAPSHOT jars" section to the process-docs.sh.

  • TINKERPOP-941 Improve error message for wrong order().by() arguments

  • TINKERPOP-943 Warn if Gremlin Server is running prior to generating docs

  • TINKERPOP-945 Exceptions should allow me to include root cause if/when available

  • TINKERPOP-952 Include Cardinality.list example in VertexProperty section of main docs.

  • TINKERPOP-954 Consistent test directory usage

  • TINKERPOP-957 Improve speed of addV()

  • TINKERPOP-964 Test XXXGraphComputer on a Hadoop2 cluster (non-pseudocluster).

  • TINKERPOP-970 ProfileStep should be off Traversal, not GraphTraversal

  • TINKERPOP-978 Native TinkerGraph Serializers for GraphSON

  • TINKERPOP-981 Deprecate support for credentialsDbLocation in Gremlin Server Config

  • TINKERPOP-982 valuesDecr, valuesIncr, keysDecr, and valuesDecr is lame.

  • TINKERPOP-983 Provide a way to track open Graph instances in tests

  • TINKERPOP-984 Use GraphProvider for id conversion in Groovy Environment test suite

  • TINKERPOP-987 Use tinkerpop.apache.org URL in all documentation and homepage

  • TINKERPOP-988 SparkGraphComputer.submit shouldn’t use ForkJoinPool.commonPool

  • TINKERPOP-992 Better support for schema driven Graphs in IO related tests

  • TINKERPOP-994 Driver using deprecated Rebindings Still

  • TINKERPOP-995 Add Authenticator.newSaslNegotiator(InetAddress)

  • TINKERPOP-996 Please delete old releases from mirroring system

  • TINKERPOP-998 Deprecate VertexPropertyFeatures.FEATURE_ADD_PROPERTY

  • TINKERPOP-1009 Add a CAUTION to documentation about HadoopGraph and getting back elements

  • TINKERPOP-1013 Traverser tags as a safer way of using path labels

  • TINKERPOP-1018 Allow setting for maxContentLength to be set from yaml in driver

  • TINKERPOP-1019 Convert println in test to SLF4j

  • TINKERPOP-1022 Automatically warm up ops handlers

  • TINKERPOP-1023 Add a spark variable in SparkGremlinPlugin like we do hdfs for HadoopGremlinPlugin

  • TINKERPOP-1026 BVLP should store vertex IDs as String

  • TINKERPOP-1033 Store sideEffects as a persisted RDD

  • TINKERPOP-1035 Better Consistency in Gremlin Server Transaction Management

  • TINKERPOP-1045 Client-Side Hangs when attempting to access a HashMap with Keys of type Integer

  • TINKERPOP-1047 TinkerGraph GraphSON storage format broken

  • TINKERPOP-1051 Add note in best practice docs about gremlin server heap setting

  • TINKERPOP-1055 Gremlin Console FileNotFoundException can be misleading

  • TINKERPOP-1062 Make LifeCycle beforeEval execute in same thread as eval operation

  • TINKERPOP-1064 Allow a ClassResolver to be added to GryoMapper construction

  • TINKERPOP-1065 Fix some typos and clarify some wording in the TinkerPop documentation

  • TINKERPOP-1066 Add ioRegistries configuration to GraphSON MessageSerializer

  • TINKERPOP-1067 Update Groovy to 2.4.5

  • TINKERPOP-1072 Allow the user to set persistence options using StorageLevel.valueOf()

  • TINKERPOP-1073 HadoopGraph toString() is weird for Spark PersitedRDD data.

  • TINKERPOP-1086 Include gryo serializers for java.time related classes

  • TINKERPOP-1087 Add has()/order() to FilterRankStrategy

  • TINKERPOP-1093 Add Spark init.sh script and update dev documentation.

  • TINKERPOP-1100 Look deeply into adding combine()-support in Spark MapReduce.

  • TINKERPOP-1117 InputFormatRDD.readGraphRDD requires a valid gremlin.hadoop.inputLocation, breaking InputFormats (Cassandra, HBase) that don’t need one

TinkerPop 3.1.0 (Release Date: November 16, 2015)

This release also includes changes from 3.0.1-incubating and 3.0.2-incubating.

  • Fixed bug in Gryo and GraphSON (with embedded types) serialization for serialization of results returned from Map.entrySet().

  • Transaction settings for onReadWrite and onClose are now ThreadLocal in nature of standard transactions.

  • Optimized BulkLoaderVertexProgram. It now uses EventStrategy to monitor what the underlying BulkLoader implementation does (e.g. whether it creates a new vertex or returns an existing).

  • Integrated NumberHelper in SumStep, MinStep, MaxStep and MeanStep (local and global step variants).

  • Gremlin Console remoting to Gremlin Server now supports a configuration option for assigning aliases.

  • CountMatchAlgorithm, in OLAP, now biases traversal selection towards those traversals that start at the current traverser location to reduce message passing.

  • Fixed a file stream bug in Hadoop OLTP that showed up if the streamed file was more than 2G of data.

  • Added the ability to set thread local properties in SparkGraphComputer when using a persistent context.

  • Bumped to Neo4j 2.3.0.

  • Deprecated "rebindings" as an argument to Gremlin Server and replaced it with "aliases".

  • Added PersistedInputRDD and PersistedOutputRDD which enables SparkGraphComputer to store the graph RDD in the context between jobs (no HDFS serialization required).

  • Renamed the public static String configuration variable names of TinkerGraph (deprecated old variables).

  • Added GraphComputer.configure(key,value) to allow engine-specific configurations.

  • GraphStep is no longer in the sideEffect-package and is now in map-package (breaking change).

  • Added support for mid-traversal V()-steps (GraphStep semantics updated).

  • Fixed Number handling in Operator enums. Prior this change a lot of operations on mixed Number types returned a wrong result (wrong data type).

  • Fixed a bug in Gremlin Server/Driver serializer where empty buffers were getting returned in certain cases.

  • Renamed ConjunctionX to ConnectiveX because "conjunction" is assumed "and" (disjunction "or"), where "connective" is the parent concept.

  • Removed PathIdentityStep as it was a hack that is now solved by Traversal.Admin.addTraverserRequirement().

  • Added Traversal.Admin.addTraverserRequirement() to allow a traversal strategy or source to add requirements (not only step determined anymore).

  • Added TraverserRequirement.ONE_BULK to state the traverser does not handle bulk.

  • Added GraphTraversalSource.withBulk(boolean) to enabled users to compute only using bulk=1.

  • Gremlin Server supports Netty native transport on linux.

  • Removed the need for GFunction (etc.) closure wrappers in Gremlin-Groovy as as Function can be used to convert closures accordingly.

  • Added SelectColumnStep (select(keys) and select(values)). Deprecated mapKeys() and mapValues().

  • Renamed gremlin.hadoop.graphInputRDD and gremlin.hadoop.graphOutputRDD to gremlin.spark.graphInputRDD and gremlin.spark.graphOutputRDD, respectively.

  • Fixed a bug in FoldStep around bulking. This could be a breaking change, but it is the correct semantics.

  • Previous group()-behavior steps are accessible via the deprecated groupV3d0()-steps.

  • GroupStep and GroupSideEffectStep now do lazy reductions to reduce memory footprint. Breaking change for group() semantics.

  • Added GroupStepHelper with various static methods and classes that are used by both GroupStep and GroupSideEffectStep.

  • Added BarrierStep interface with processAllStarts() method which process all starts up to yielding the barrier result.

  • Fixed a severe threading issue in TinkerGraphComputer.

  • The location of the jars in HDFS is now hadoop-gremlin-x.y.z-libs to ensure multiple TinkerPop versions don’t clash.

  • GiraphGraphComputer will only upload the jars to HDFS if it doesn’t already exist (to help speed up startup time).

  • GiraphGraphComputer.workers() is smart about using threads and machines to load balance TinkerPop workers across cluster.

  • GraphComputer.workers(int) allows the user to programmatically set the number of workers to spawn.

  • Added GryoSerializer as the new recommended Spark Serializer. Handles Graph and GryoMapper registries.

  • GryoPool now makes use of GryoPool.Builder for its construction.

  • Bumped to Apache Hadoop 2.7.1.

  • Bumped to Apache Giraph 1.1.0.

  • Bumped to Apache Spark 1.5.1.

  • Split Hadoop-Gremlin apart such there is now hadoop-gremlin, spark-gremlin, and giraph-gremlin (and respective GremlinPlugins).

  • Added LambdaCollectingBarrierStep which generalizes NoOpBarrierStep and allows for barrier(normSack)-type operations.

  • Fixed bugs in the Gremlin Server’s NIO protocol both on the server and driver side.

  • Added Path.popEquals(Pop,Object) to check for path equality based on Pop (useful for TraverserRequirement.LABELED_PATH).

  • Added Operator.assign to allow setting a direct value.

  • Operator is now a BinaryOperator<Object> with appropriate typecasting for respective number operators.

  • Simplified SackValueStep so it now supports both sack(function) and sack(function).by(). Deprecated sack(function,string) .

  • Added Parameters object to allow for the parameters of a step to be retrieved at runtime via a traversal.

  • Redesigned (though backwards compatible) AddEdgeStep, AddVertexStep, and AddPropertyStep (and respective GraphTraversal API).

  • Added GraphTraversalSource.inject() so users can spawn a traverser with non-graph objects.

  • GraphStep can now take a single argument Collection which is either elements or element ids (i.e. g.V([1,2,3]) is supported now).

  • Added LoopsStep to make the loop counter accessible within repeat(), until() and emit().

  • Gephi Plugin no longer requires manual insert of store steps to visualize a traversal.

  • Added a TinkerIoRegistry that registers a custom serializer for Gryo that will serialize an entire TinkerGraph instance.

  • Added configuration options to Gephi Plugin for setting the size of nodes visualized.

  • Replaced DedupBijectionStrategy with the more effective FilterRankingStrategy.

  • ComputerAwareSteps must not only handle step ids, but also step labels.

  • Renamed B_O_P_SE_SL_Traverser to B_LP_O_P_SE_SL_Traverser as it now supports TraverserRequirement.LABELED_PATH.

  • Added B_LP_O_S_SE_SL_Traverser in support of TraverserRequirement.LABELED_PATH.

  • Added TraverserRequirement.LABELED_PATH which only generates path data for steps that are labeled (greatly increases the likelihood of bulking).

  • Fixed a bug in Path usage that required an API update: Path.addLabel() is now Path.extend(Set<String>) and Traverser.addLabels(Set<String>).

  • Made Path iterable, so that it can be unfold()'ed and used by local steps like min(local), max(local), etc.

  • WhereTraversalStep and WherePredicateStep are now the only "special" Scoping steps after MatchStartStep in match().

Bugs

  • TINKERPOP-774 order / dedup issues

  • TINKERPOP-799 [Proposal] with()-modulator for stream level variable binding.

  • TINKERPOP-801 groupCount() fails for vertices (elements?) (using Spark)

  • TINKERPOP-811 AddPropertyStepTest fails "all of a sudden"

  • TINKERPOP-823 addV() broken for multi-value properties

  • TINKERPOP-843 Misspecified HADOOP_GREMLIN_LIBS generates NullPointerException

  • TINKERPOP-857 Add GraphComputer.config(key,value)

  • TINKERPOP-895 Use "as BinaryOperator" and remove GBinaryOperator

  • TINKERPOP-903 Fix empty buffer return upon buffer capacity exceeded

  • TINKERPOP-910 In session transaction opened from sessionless request

  • TINKERPOP-918 ComputerVerificationStrategy is too restrictive

  • TINKERPOP-926 Renamed TinkerGraph public statics to common pattern used for other statics.

  • TINKERPOP-948 AbstractGremlinProcessTest.checkMap not asserted in GroupTest

  • TINKERPOP-953 Artifact equality is not evaluating properly

  • TINKERPOP-955 HashMap$Node not serializable

Improvements

  • TINKERPOP-297 Ensure Consistent Behavior Over Deleted Elements (breaking)

  • TINKERPOP-333 Support VertexProperty in PartitionStrategy

  • TINKERPOP-391 More fluency in GraphComputer for parameterization.

  • TINKERPOP-616 Use Spark 1.3.0 in Hadoop-Gremlin.

  • TINKERPOP-624 Passing Detached/Referenced to Graph.vertices/edge()

  • TINKERPOP-680 Configurable Channelizer for Gremlin Driver

  • TINKERPOP-728 Improve Remote Graph Object Treatment in Console

  • TINKERPOP-756 Provide a strict parsing option for GraphMLReader

  • TINKERPOP-760 Make loop counter accessible within repeat()

  • TINKERPOP-762 Allow mid-traversal V() (and E())

  • TINKERPOP-765 Decompose AbstractTransaction for different transactional contexts (breaking)

  • TINKERPOP-767 Path should play well with "local" steps.

  • TINKERPOP-768 MatchStep in OLAP should be smart about current vertex.

  • TINKERPOP-769 Make the introduction of the TP3 docs story better.

  • TINKERPOP-772 TraverserRequirement.LABELED_PATH

  • TINKERPOP-796 Support merge binary operator for Gremlin sacks (breaking)

  • TINKERPOP-798 [Proposal] Rename mapKeys()/mapValues() to select(keys) and select(values).

  • TINKERPOP-802 Provide sack(object) so that the sack can be directly set.

  • TINKERPOP-803 A better solution to g.V(someCollection.toArray())

  • TINKERPOP-805 Enforce AutoCloseable Semantics on Transaction (breaking)

  • TINKERPOP-821 Improve testing around TraversalHelper around recursive methods

  • TINKERPOP-825 [Proposal] SetBulkStep (sideEffectStep)

  • TINKERPOP-826 OneToManyBarrierStrategy

  • TINKERPOP-827 Add a console session to the PageRank section of the docs.

  • TINKERPOP-829 TinkerGraphComputer should support the user specified thread/worker count.

  • TINKERPOP-835 Shade Jackson Dependencies (breaking)

  • TINKERPOP-836 Support Hadoop2 in place of Hadoop1

  • TINKERPOP-850 Reduce Graph.addVertex overload ambiguity (breaking)

  • TINKERPOP-851 GroupCountStep needs a by() for the count.

  • TINKERPOP-861 Solve "The Number Problem" for Operator (and follow on operators)

  • TINKERPOP-863 [Proposal] Turn off bulking — or is there something more general? (hope not).

  • TINKERPOP-866 GroupStep and Traversal-Based Reductions (breaking)

  • TINKERPOP-868 Allow Spark Gremlin Computer to Reuse Spark Contexts

  • TINKERPOP-874 Rename Gremlin-Spark properties using gremlin.spark prefix. (breaking)

  • TINKERPOP-876 Rename VendorOptimizationStrategy XXXOptimizationStrategy (breaking)

  • TINKERPOP-879 Remove deprecated promoteBindings from GremlinExecutor (breaking)

  • TINKERPOP-885 Change Transaction.onReadWrite() to be a ThreadLocal setting (breaking)

  • TINKERPOP-888 GraphTraversal.property overloads (breaking)

  • TINKERPOP-896 Simplify the {{withSack}} methods of {{GraphTraversalSource}}. (breaking)

  • TINKERPOP-897 Remove deprecated GSupplier, GFunction, GConsumer, etc. methods. (breaking)

  • TINKERPOP-898 Rename ConjuctionP and ConjuctionStep to ConnectiveP and ConnectiveStep (breaking)

  • TINKERPOP-899 Bump to the latest version of Neo4j.

  • TINKERPOP-900 Provide by(object) which compiles to by(constant(object))

  • TINKERPOP-901 Option for use of Netty epoll on Linux to reduce GC pressure

  • TINKERPOP-904 BulkLoaderVertexProgram optimizations

  • TINKERPOP-905 Harden time oriented tests in ResultQueueTest

  • TINKERPOP-907 getters for RepeatStep.untilTraversal and RepeatStep.emitTraversal

  • TINKERPOP-908 Use line breaks in documentation

  • TINKERPOP-909 Improve steps that handle numeric data

  • TINKERPOP-911 Allow setting Thread Specific Spark JobGroup/Custom Properties based on hadoop conf

  • TINKERPOP-913 Rename Gremlin Server arguments rebinding to alias

  • TINKERPOP-914 DriverRemoteAcceptor in Gremlin Console supports aliases

  • TINKERPOP-917 Add HadoopGraph.open(String)

  • TINKERPOP-922 Add a book for Developer Documentation

  • TINKERPOP-923 Add a book for Tutorials

  • TINKERPOP-925 Use persisted SparkContext to persist an RDD across Spark jobs.

  • TINKERPOP-931 Make it possible to extend the core OpProcessor implementations

  • TINKERPOP-933 Improve release process to get files named properly

  • TINKERPOP-935 Add missing "close" operation to the session opProcessor docs

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/apache-tinkerpop.git
git@api.gitlife.ru:oschina-mirror/apache-tinkerpop.git
oschina-mirror
apache-tinkerpop
apache-tinkerpop
master