Amazon Neptune Engine Updates 2019-07-26
Version: 1.0.1.0.200366.0
Amazon Neptune 1.0.1.0.200366.0 is generally available. All new Neptune DB clusters, including those restored from snapshots, will be created in Neptune 1.0.1.0.200366.0 after the engine update is complete for that Region.
Existing clusters can be upgraded to this release immediately using the DB cluster operations on the console or by using the SDK.
IMPORTANT: Because the TinkerPop upgrade to version 3.4.1 can be a breaking change for some customers, this engine release (version 1.0.1.0.200366.0) will NOT automatically be applied during maintenance windows.
To upgrade a DB cluster to this engine version, you must update it manually. You can use the following CLI command to do so:
aws neptune apply-pending-maintenance-action \ --apply-action system-update \ --opt-in-type immediate \ --resource-identifier arn:aws:rds:
<region>
:<account number>
:<resourcetype>
:<name>
Updates are applied to all instances in a DB cluster simultaneously. An update requires
a database restart on all instances in a DB cluster, so you will experience downtime
ranging
from 20–30 seconds to several minutes, after which you can resume using your DB cluster
or clusters. You can view or change your maintenance window settings on the Neptune console
If you have any questions or concerns, the AWS Support team is available on the community
forums and through AWS Premium Support
New Features in This Engine Release
-
Upgraded to TinkerPop 3.4.1 (see TinkerPop Upgrade Information
, and TinkerPop 3.4.1 Change Log ). For Neptune customers, these changes provide new functionality and improvements, such as:
-
GraphBinary
is now available as a serialization format. -
A keep-alive bug that caused memory leaks in the TinkerPop Java driver has been fixed, so a work-around is no longer necessary.
However, in a few cases, they may affect existing Gremlin code in Neptune. For example:
-
valueMap()
now returns aMap<Object,Object>
instead of aMap<String,Object>
. -
Inconsistent behavior of the
within()
step was fixed so it would work consistently with other steps. Previously, types had to match for comparisons to work. Now, numbers of different types can be accurately compared. For example,33
now compares as equal to33L
, which it did not before. -
A bug in
ReducingBarrierStep
was fixed, so it now returns no value if no elements are available for output. -
The order of
select()
scopes changed (the order is nowmaps
,side-effects
,paths
). This changes the results of the rare queries that combineside-effects
andselect
with the same key name forside-effects
as forselect
. -
bulkSet()
is now part of the GraphSON protocol. Queries that end withtoBulkSet()
won't work with older clients. -
One parameterization of the
Submit()
step was removed from the 3.4 client.
Many other changes introduced in TinkerPop 3.4 do not affect current Neptune behavior. For example, Gremlin
io()
was added as a step toTraversal
and is now deprecated inGraph
, but was never enabled in Neptune. -
-
Added support for single cardinality vertex properties to the bulk loader for Gremlin, for loading property graph data.
-
Added an option to overwrite the existing values for a single-cardinality property in the bulk loader.
-
Added the ability to retrieve the status of a Gremlin query, and to cancel a Gremlin query.
-
Added a query hint for SPARQL query timeouts.
-
Added the ability to see the instance role in the status API (see Instance Status).
-
Added support for database cloning (see Database Cloning in Neptune).
Improvements in This Engine Release
-
Improved the SPARQL Query Explanation to show graph variables from FROM clauses.
-
Improved performance for SPARQL in filters, equal filters, VALUES clauses, and range counts.
-
Improved performance for Gremlin step ordering.
-
Improved performance for Gremlin
.repeat.dedup
traversals. -
Improved the performance of Gremlin
valueMap()
andpath().by()
traversals.
Defects Fixed in This Engine Release
-
Fixed multiple issues with SPARQL property paths including operation with named graphs.
-
Fixed an issue with SPARQL CONSTRUCT queries causing memory issues.
-
Fixed an issue with the RDF Turtle parser and local names.
-
Fixed an issue to correct error messages displayed to users.
-
Fixed an issue with Gremlin
repeat()...drop()
traversals. -
Fixed an issue with the Gremlin
drop()
step. -
Fixed an issue with Gremlin label filters.
-
Fixed an issue with Gremlin query timeouts.