You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2026/10/20 20:41:32 UTC
(tinkerpop) branch master updated (d02442461b -> a95d2e442a)
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
from d02442461b Merge branch '3.8-dev'
add fb0b2a274d Add pluggable storage layer to TinkerStorageGraph
add 7fd8747be9 Move TinkerStorageGraph storage changelog entries to 4.0.0 section
add f3e09b543c Make TinkerStorageGraph commits fsync-durable with a configurable sync mode
add c37449203f Serialize concurrent commit writes to TinkerStorageGraph storage
add d95220565e Lock TinkerStorageGraph storage directory to a single writer
add c6d5261edb Auto-compact TinkerStorageGraph log to bound its growth
add 36c6a102f6 Stream TinkerStorageGraph snapshots one element at a time
add 297872215d Add integrity checks to TinkerStorageGraph storage format
add df86d60296 Add crash-consistency and streaming-scale tests for TinkerStorageGraph storage
add 71dec51076 Record TinkerStorageGraph format version once per store
add cd98d2e2c8 Document TinkerStorageGraph durability, compaction, and locking
add 6a85511157 Extract AbstractLogStorage base from GraphBinaryStorage
add 63ec0e3b70 Encode TinkerStorageGraph elements as dictionary-referenced components
add 29b7d802bc Add opt-in vertex-property id persistence to TinkerStorageGraph storage
add 902b270af1 Document TinkerStorageGraph compact encoding and vertex-property id option
add e8c8d0e952 Broaden TinkerStorage TCK: value types, ids, varints, unicode round-trips
add b27a891adc Test TinkerStorage durability, lifecycle, and dictionary crash window
add 3fe0eb39a1 Reject corrupt TinkerStorage frames with a clear error
add 298566af64 Document TinkerStorageGraph single-writer stance; enforce meta-property conflict
add 3e4e2d0587 Document TinkerStorageGraph persistence and fix stale class doc
add 7101528962 Rename graphLocation to storage.directory for TinkerStorageGraph
add c3d8a4a1de Revised Upgrade docs around TinkerGraph storage capabilities.
add 685823d032 Document that TinkerStorageGraph is in-memory without a storage engine
add 108ad2e022 Bound decoder allocations and dictionary refs in TinkerStorageGraph storage
add ec8fc29d82 Publish TinkerStorageGraph commits under the storage lock
add c3b129cb74 Rename ByteBufferBuffer to TinkerByteBuffer and add its unit tests
add adc91e310c Restore TinkerStorageGraph index definitions on reopen
add b3fb189332 Document that persisted multi-properties require setting default cardinality
add 6362d1c081 Snapshot compaction from committed state so close() cannot persist uncommitted data
add 0d7c5f1bb2 Rebuild the write-side dictionary on replay to stop unbounded reopen growth
add cd1990f991 Cut the storage log back to its last complete frame on replay
add 40240b1799 Fix NullPointerException on rollback with a vertex index but no edge index
add 64f54b5bba Roll back and stop accepting commits when the storage log fails
add 975d8af820 Reject commits on a TinkerStorageGraph after its storage is closed
add ba3dae6408 Trim the header comment in tinkerstoragegraph-persistent.properties
add 73ccaceca3 Add a read-only recovery open for a damaged TinkerStorageGraph store
add 9ffb79d78b Undo dictionary entries from a commit that fails to encode in TinkerStorageGraph
add d4a116f542 Checksum the length of each TinkerStorageGraph log frame so corruption is not cut back as a torn tail
add d72f090f83 Close TinkerStorageGraph storage and release its directory lock even when compaction fails on close
add e117a6456d Back off a failed TinkerStorageGraph auto-compaction and remove its partial snapshot
add 1d299015e4 Detect a missing TinkerStorageGraph snapshot, log or VERSION marker instead of opening without it
add 3144b8e3a1 Document the value types TinkerStorageGraph can persist and name the property and type it cannot
add 9f1a48aef2 Document how a persisted TinkerStorageGraph behaves under concurrent writes
add 80d81aae19 Reject a blank storage directory and a negative compaction threshold for TinkerStorageGraph
add 9e5afdf0d4 Update the threat model for TinkerStorageGraph persistence
add 151315ebaa Share TinkerStorageGraph file helpers and drop the deprecated Class.newInstance() in storage selection
add f4bb58ecaf Record the settings a TinkerStorageGraph store was created with and keep data-shaping settings fixed
add 3e748f5cf1 Stop TinkerStorageGraph commits when its storage directory or log is removed while open
add ac1c574f33 Keep TinkerStorageGraph indexes unchanged when a commit fails in storage
add 86ccdf058e Detect TinkerStorageGraph snapshot and log files copied in from another store
add 4c8a721a99 Tighten TinkerStorageGraph configuration checks and leave directories as found after failed or recovery opens
add e20cfeaa07 Stop TinkerStorageGraph writing index definitions after close and serialize those writes
add 4e77a85a3c Fix stale and misplaced Javadoc in the TinkerStorageGraph storage package
add 7487c1335a Document what TinkerStorageGraph persistence does not preserve or detect
add 9acac0c722 Refuse explicit compaction of a closed or recovered TinkerStorageGraph
add c9efeda55a Tell agents the CHANGELOG breaking marker is applied only at release
add 4270ed7fee Skip TinkerStorageGraph storage writes for transactions that changed nothing
add 5f8380509c Make TinkerStorageGraph clear() durable and refuse what a closed or failed store cannot do
add a370a15aab Harden TinkerStorageGraph storage against torn writes, corrupt records and replaced logs
add c92e8119f9 Refuse TinkerStorageGraph opens that would hide lost data or damaged settings
add 10006dc74c Tighten TinkerStorageGraph storage test assertions
add 8745d18e14 Update TinkerStorageGraph persistence and upgrade docs
add 9e21f2df4e Move TinkerStorageGraph storage internals into a tinkergraph-gremlin DESIGN.md
add 52099af346 Warn that a single-cardinality TinkerStorageGraph keeps only the last multi-property value on reload
add 0d1d0d8bc1 Remove the breaking tag from a hand-written CHANGELOG entry
add 9a0ff251c2 Fix preserveVertexPropertyIds when a TinkerStorageGraph store is created
add 27ecef800d Stop TinkerStorageGraph commits when its LOCK file is removed or replaced
add f048ea422f Number TinkerStorageGraph log records so repeated or reordered ones fail the open
add 2560f699a8 Skip an interrupted compaction's old log in a TinkerStorageGraph recovery open
add 2965c680cf Report a TinkerStorageGraph commit that fails after its storage write as durable
add ca4a2b0180 Skip TinkerStorageGraph compaction when nothing was committed since the last one
add 3a629ee628 Fail a TinkerStorageGraph commit that was waiting on the commit lock while the graph was cleared
add 50ed289057 Checksum TinkerStorageGraph file headers so a damaged one is reported as damage
add 1ee20cd69c Bound every size a stored TinkerStorageGraph value declares, including labels read by type
add 5bb3a5f219 Correct TinkerStorageGraph notes on why dictionary numbering survives compaction
add d4e89cc245 Read TinkerStorageGraph settings independent of the default locale and charset
add cc2d0bb0fd Fix stale and orphaned comments in the TinkerStorageGraph storage code
add 523aab3750 Document the remaining TinkerStorageGraph persistence caveats and point read-only opens to recovery
add 220fa8f0fc Document how GraphBinary writes a ByteBuffer value
add 3e52f51a45 Keep the TinkerStorageGraph directory lock held against other processes
add 6f8a65447b Empty a TinkerStorageGraph store on clear() even when nothing was logged since the last compaction
add f70b65091c Keep a TinkerStorageGraph vertex re-added after clear() when an older transaction on its id ends
add f110b72001 Cut a damaged final TinkerStorageGraph log record only when it ends in unwritten sectors
add e34659e8eb Keep a TinkerStorageGraph commit and its storage healthy when automatic compaction throws an Error
add 40995792f1 Warn when TinkerMemoryGraph is configured with storage settings it ignores
add 04aec31c85 Test that TinkerStorageGraph stops commits when a compaction cannot install its empty log
add cebb027645 Name the TinkerStorageGraph crash-window tests for what they verify
add d59f9ddbdb Pin the single-cardinality multi-property collapse of a reopened TinkerStorageGraph in a test
add 591feb8f6f Bound the commit-lock wait in a TinkerStorageGraph clear() test
add 645e75406b Checksum the TinkerStorageGraph VERSION marker and let a recover open read past a damaged one
add e96e596cd9 Report an unusable value in a TinkerStorageGraph settings record as a damaged settings file
add a5a71a50cd Link the TinkerGraph disk storage upgrade note to the reference docs by URL
add 73053a8909 Close small gaps in the TinkerStorageGraph persistence docs
add 6698049b95 Keep the TinkerStorageGraph directory lock held when a second open in the same JVM is refused
add e08237cf54 Keep an element added while TinkerStorageGraph clear() runs consistent in memory and on disk
add 41969cdda8 Fail-stop TinkerStorageGraph storage when clear() cannot empty it and require engines to implement clear()
add d530220b7b Say that a TinkerStorageGraph commit that fails after its storage write may be partly visible until reopen
add d65ea88ec3 Fail a TinkerStorageGraph open that sets a storage directory without a storage engine
add ae893c737e Close configured services and the storage engine when a TinkerStorageGraph open fails
add 9536425ce9 Use the inherited directory delete in TinkerStorageGraphProvider
add a69f1a105c Merge TinkerTransaction's vertex and edge storage mutation conversion into one method
new a95d2e442a Merge pull request #3639 from apache/tinkergraph-storage
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.skills/tinker-dev/SKILL.md | 8 +-
CHANGELOG.asciidoc | 7 +-
THREAT_MODEL.md | 11 +-
.../reference/implementations-tinkergraph.asciidoc | 352 ++++-
docs/src/upgrade/release-4.x.x.asciidoc | 91 +-
...o.properties => tinkergraph-storage.properties} | 11 +-
.../io/binary/types/BinarySerializer.java | 8 +
.../conf/tinkergraph-credentials.properties | 4 +
.../conf/tinkerstoragegraph-persistent.properties | 39 +
.../gremlin/server/auth/SimpleAuthenticator.java | 54 +
tinkergraph-gremlin/DESIGN.md | 294 ++++
.../tinkergraph/structure/AbstractTinkerGraph.java | 196 ++-
.../structure/TinkerElementContainer.java | 10 +-
.../gremlin/tinkergraph/structure/TinkerGraph.java | 51 +-
.../tinkergraph/structure/TinkerMemoryGraph.java | 38 +-
.../tinkergraph/structure/TinkerStorageGraph.java | 336 ++++-
.../tinkergraph/structure/TinkerTransaction.java | 149 +-
.../structure/storage/AbstractLogStorage.java | 1562 ++++++++++++++++++++
.../structure/storage/DefaultStorage.java | 31 +-
.../structure/storage/DirectoryLock.java | 334 +++++
.../structure/storage/GraphBinaryStorage.java | 634 ++++++++
.../structure/storage/IndexDefinitions.java | 183 +++
.../structure/storage/StorageFiles.java | 88 ++
.../structure/storage/StorageSettings.java | 314 ++++
.../tinkergraph/structure/storage/SyncMode.java | 76 +
.../structure/storage/TinkerByteBuffer.java | 371 +++++
.../structure/storage/TinkerStorage.java | 155 ++
.../structure/storage/TinkerStorageMutation.java | 67 +
.../tinkergraph/TinkerMemoryGraphProvider.java | 20 -
.../tinkergraph/TinkerMemoryGraphUUIDProvider.java | 6 -
.../tinkergraph/TinkerStorageGraphProvider.java | 14 +-
.../structure/TinkerMemoryGraphTest.java | 211 +--
.../structure/TinkerStorageGraphTest.java | 455 +++++-
.../AbstractTinkerStorageConformanceTest.java | 715 +++++++++
.../structure/storage/ConcurrencyProbeStorage.java | 89 ++
.../structure/storage/DirectoryLockHolder.java | 23 +-
.../structure/storage/DirectoryLockTest.java | 187 +++
.../structure/storage/FaultInjectingStorage.java | 164 ++
.../structure/storage/GraphBinaryStorageTest.java | 1489 +++++++++++++++++++
.../storage/StorageCommitSerializationTest.java | 105 ++
.../storage/StorageCrashConsistencyTest.java | 231 +++
.../structure/storage/StorageFailureTest.java | 778 ++++++++++
.../structure/storage/StorageRecoveryTest.java | 895 +++++++++++
.../structure/storage/StorageSettingsTest.java | 489 ++++++
.../tinkergraph/structure/storage/StoreWriter.java | 50 +
.../structure/storage/SyncModeTest.java | 58 +
.../structure/storage/TinkerByteBufferTest.java | 265 ++++
47 files changed, 11312 insertions(+), 406 deletions(-)
rename gremlin-console/conf/{tinkergraph-gryo.properties => tinkergraph-storage.properties} (60%)
create mode 100644 gremlin-server/conf/tinkerstoragegraph-persistent.properties
create mode 100644 tinkergraph-gremlin/DESIGN.md
create mode 100644 tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/AbstractLogStorage.java
copy gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/BulkSetSupplier.java => tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/DefaultStorage.java (55%)
create mode 100644 tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/DirectoryLock.java
create mode 100644 tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/GraphBinaryStorage.java
create mode 100644 tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/IndexDefinitions.java
create mode 100644 tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/StorageFiles.java
create mode 100644 tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/StorageSettings.java
create mode 100644 tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/SyncMode.java
create mode 100644 tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/TinkerByteBuffer.java
create mode 100644 tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/TinkerStorage.java
create mode 100644 tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/TinkerStorageMutation.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/AbstractTinkerStorageConformanceTest.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/ConcurrencyProbeStorage.java
copy gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/util/ExceptionTestUtils.java => tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/DirectoryLockHolder.java (54%)
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/DirectoryLockTest.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/FaultInjectingStorage.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/GraphBinaryStorageTest.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/StorageCommitSerializationTest.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/StorageCrashConsistencyTest.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/StorageFailureTest.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/StorageRecoveryTest.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/StorageSettingsTest.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/StoreWriter.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/SyncModeTest.java
create mode 100644 tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/structure/storage/TinkerByteBufferTest.java
(tinkerpop) 01/01: Merge pull request #3639 from apache/tinkergraph-storage
Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit a95d2e442afa7577403bc4437e6c64212af3f9a1
Merge: d02442461b a69f1a105c
Author: Stephen Mallette <sp...@users.noreply.github.com>
AuthorDate: Tue Oct 20 20:41:18 2026 +0000
Merge pull request #3639 from apache/tinkergraph-storage
TINKERPOP-3282 TinkerStorageGraph
.skills/tinker-dev/SKILL.md | 8 +-
CHANGELOG.asciidoc | 7 +-
THREAT_MODEL.md | 11 +-
.../reference/implementations-tinkergraph.asciidoc | 352 ++++-
docs/src/upgrade/release-4.x.x.asciidoc | 91 +-
...o.properties => tinkergraph-storage.properties} | 11 +-
.../io/binary/types/BinarySerializer.java | 8 +
.../conf/tinkergraph-credentials.properties | 4 +
.../conf/tinkerstoragegraph-persistent.properties | 39 +
.../gremlin/server/auth/SimpleAuthenticator.java | 54 +
tinkergraph-gremlin/DESIGN.md | 294 ++++
.../tinkergraph/structure/AbstractTinkerGraph.java | 196 ++-
.../structure/TinkerElementContainer.java | 10 +-
.../gremlin/tinkergraph/structure/TinkerGraph.java | 51 +-
.../tinkergraph/structure/TinkerMemoryGraph.java | 38 +-
.../tinkergraph/structure/TinkerStorageGraph.java | 336 ++++-
.../tinkergraph/structure/TinkerTransaction.java | 149 +-
.../structure/storage/AbstractLogStorage.java | 1562 ++++++++++++++++++++
.../structure/storage/DefaultStorage.java | 40 +
.../structure/storage/DirectoryLock.java | 334 +++++
.../structure/storage/GraphBinaryStorage.java | 634 ++++++++
.../structure/storage/IndexDefinitions.java | 183 +++
.../structure/storage/StorageFiles.java | 88 ++
.../structure/storage/StorageSettings.java | 314 ++++
.../tinkergraph/structure/storage/SyncMode.java | 76 +
.../structure/storage/TinkerByteBuffer.java | 371 +++++
.../structure/storage/TinkerStorage.java | 155 ++
.../structure/storage/TinkerStorageMutation.java | 67 +
.../tinkergraph/TinkerMemoryGraphProvider.java | 20 -
.../tinkergraph/TinkerMemoryGraphUUIDProvider.java | 6 -
.../tinkergraph/TinkerStorageGraphProvider.java | 14 +-
.../structure/TinkerMemoryGraphTest.java | 211 +--
.../structure/TinkerStorageGraphTest.java | 455 +++++-
.../AbstractTinkerStorageConformanceTest.java | 715 +++++++++
.../structure/storage/ConcurrencyProbeStorage.java | 89 ++
.../structure/storage/DirectoryLockHolder.java | 39 +
.../structure/storage/DirectoryLockTest.java | 187 +++
.../structure/storage/FaultInjectingStorage.java | 164 ++
.../structure/storage/GraphBinaryStorageTest.java | 1489 +++++++++++++++++++
.../storage/StorageCommitSerializationTest.java | 105 ++
.../storage/StorageCrashConsistencyTest.java | 231 +++
.../structure/storage/StorageFailureTest.java | 778 ++++++++++
.../structure/storage/StorageRecoveryTest.java | 895 +++++++++++
.../structure/storage/StorageSettingsTest.java | 489 ++++++
.../tinkergraph/structure/storage/StoreWriter.java | 50 +
.../structure/storage/SyncModeTest.java | 58 +
.../structure/storage/TinkerByteBufferTest.java | 265 ++++
47 files changed, 11363 insertions(+), 380 deletions(-)