Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
401 commits
Select commit Hold shift + click to select a range
e6e8642
Fixes statementLocksFactory to be a provider as defined by DefaultEdi…
bradnussbaum Dec 19, 2023
889a504
Removes createIdComponents and unused dependencies
bradnussbaum Dec 19, 2023
0a99767
Satifies connectionTracker using createConnectionTracker
bradnussbaum Dec 19, 2023
4edbee8
Removes unavailable coreAPIAvailabilityGuard
bradnussbaum Dec 19, 2023
137ad28
Removes registerRecovery with obsolete doAfterRecoveryAndStartup
bradnussbaum Dec 19, 2023
0d518cf
Removes obsolete coreAPIAvailabilityGuard and invalid imports
bradnussbaum Dec 19, 2023
20ea4e1
Removes registerRecovery from EnterpriseReadReplicaEditionModule
bradnussbaum Dec 19, 2023
cf828d9
Fixes for locksSupplier and statementLocksFactoryProvider changes in …
bradnussbaum Dec 19, 2023
a2bcc0e
Replaces individual token holders with implementation of token holder…
bradnussbaum Dec 19, 2023
2ee207b
Updates for DefaultKernelData to KernelData with platformModule.dataS…
bradnussbaum Dec 19, 2023
e827358
Satisfies connectionTracker with createConnectionTracker
bradnussbaum Dec 19, 2023
f857095
Satisfies idContextFactory utilizing context factory builder with Ent…
bradnussbaum Dec 19, 2023
704bdf8
Replaces kernelExtensions.listFactories() with kernelExtensionFactori…
bradnussbaum Dec 19, 2023
893c1dc
Replaces storeDir with databaseLayout in buildLocalDatabaseLogFiles
bradnussbaum Dec 19, 2023
4179f5c
Cleans up imports in EnterpriseReadReplicaEditionModule
bradnussbaum Dec 19, 2023
5af6cc2
EnterpriseReadReplicaEditionModule extends DefaultEditionModule and s…
bradnussbaum Dec 19, 2023
61a93e0
IdentityModule member may be final
bradnussbaum Dec 19, 2023
9d98b49
Fixes for UnbindFromClusterCommand where confirmTargetDirectoryIsWrit…
bradnussbaum Dec 19, 2023
ffdefc4
Adds AvailabilityGuard to ReplicationModule for RaftReplicator
bradnussbaum Dec 19, 2023
4ab8778
Fixes CausalClusteringBean isCausalClustering using DatabaseInfo reso…
bradnussbaum Dec 19, 2023
37369a5
Switches CausalClusteringSettings to use options methods for case tha…
bradnussbaum Dec 19, 2023
9e2eb06
Changes from platformModule.kernelExtensions.listFactories() to platf…
bradnussbaum Dec 19, 2023
b721814
Dealing with DatabaseLayout updates - Part 2
bradnussbaum Dec 20, 2023
c436c55
Fixes CloseablesListener using close to maintain RuntimeException thr…
bradnussbaum Dec 20, 2023
9ce12bf
Resolving issues in enterprise kernel tests
bradnussbaum Dec 20, 2023
d3573a3
Fixes backup protocol service interfaces
bradnussbaum Dec 21, 2023
07039fe
Fixes database layout in RestoreDatabaseCommand
bradnussbaum Dec 26, 2023
8a52325
OnlineBackupContextBuilder now uses ConsistencyFlags with config and …
bradnussbaum Dec 26, 2023
102435a
Adds it-test-support dependency for Neo4jWithSocket
bradnussbaum Dec 27, 2023
73e1bdb
Adds it-test-support dependency for TestGraphDatabaseFactory
bradnussbaum Dec 27, 2023
ae3e4cf
org.neo4j.bolt.v1.messaging.message package was reorganized to reques…
bradnussbaum Dec 27, 2023
1e2f8a8
Adds bolt-test test-jar for AuthenticationIT
bradnussbaum Dec 27, 2023
71418d5
Fixes up InternalFlatFileRealmIT
bradnussbaum Dec 27, 2023
d10eaf8
Fixes up BuiltInProceduresInteractionTestBase
bradnussbaum Dec 27, 2023
fc094e9
Fixes for password byte[] interface changes
bradnussbaum Dec 27, 2023
ef02b48
Fixes up tooling after interface changes in core
bradnussbaum Jan 2, 2024
78caa78
org.neo4j.kernel.impl.transaction.TransactionCounters
bradnussbaum Jan 2, 2024
1b5e911
Updates for job group in CsvOutput
bradnussbaum Jan 3, 2024
da53977
Establishes base runtime structure for compiled, morsel and slotted w…
bradnussbaum Jan 4, 2024
e64b2f0
Changes EnterpriseRuntimeBuilder to EnterpriseRuntimeFactory to align…
bradnussbaum Jan 4, 2024
2e248dd
Updates to store copy fo database layout and page cache changes
bradnussbaum Jan 8, 2024
8a8d24b
Adds it-test-support to query-logging for TestGraphDatabaseFactory
bradnussbaum Jan 8, 2024
bea6d05
Fixing up query logging after interface changes
bradnussbaum Jan 8, 2024
700fc28
org.neo4j.scheduler.JobScheduler.CancelListener
bradnussbaum Jan 11, 2024
49f60a2
Updates for AvailabilityRequirement changes
bradnussbaum Jan 11, 2024
9c0b983
HighlyAvailableEditionModule updates from individual token holders to…
bradnussbaum Jan 11, 2024
f59a915
Changes for watcherService to watcherServiceFactory
bradnussbaum Jan 11, 2024
ebca79b
Fixes for HighlyAvailableEditionModule availabilityGuard
bradnussbaum Jan 11, 2024
c6783b5
Changes HighlyAvailableEditionModule from extending CommunityEditionM…
bradnussbaum Jan 11, 2024
36741bf
Updates to satisfy changes to idTypeConfigurationProvider
bradnussbaum Jan 11, 2024
99ba55c
Updates for idGeneratorFactory changes with idContext
bradnussbaum Jan 11, 2024
972eb13
Changes to resolve lockManager and locks factory strategy
bradnussbaum Jan 11, 2024
a22df83
Changes from GraphDatabaseAPI to DataSourceManager for KernelData req…
bradnussbaum Jan 11, 2024
edd8a2d
Resolves dependencies for changes to platformModule.transactionMonitor
bradnussbaum Jan 11, 2024
c1e087a
Removes doAfterRecoveryAndStartup chain call that is no longer part o…
bradnussbaum Jan 11, 2024
6373a7e
Removes HaKernelDataIT that contained an obsolete test shouldReturnHa…
bradnussbaum Jan 11, 2024
93b11e9
Updates HaSettings
bradnussbaum Jan 11, 2024
958b18d
Cleans up imports and interfaces changes in storecopy
bradnussbaum Jan 11, 2024
daffa87
Fixes code style issue in MultiRealmAuthManager
bradnussbaum May 6, 2024
f9c4672
Fixes code style issue in ongdb-causal-clustering
bradnussbaum May 6, 2024
e07dd9f
Updates licenses and notices for enterprise modules
bradnussbaum May 6, 2024
ea59d27
Adds it-test-support to ongdb-causal-clustering for org.neo4j.test.Db…
bradnussbaum May 6, 2024
32fe2cd
Fixing compile issues in ongdb-causal-clustering resulting from:
bradnussbaum May 7, 2024
4f64fa5
Fixing compile issues in ongdb-backup:
bradnussbaum May 7, 2024
9e50219
Fixing compile issues in ongdb-metrics:
bradnussbaum May 7, 2024
b31f816
Fixing compile issues in ongdb-enterprise:
bradnussbaum May 8, 2024
e767a91
Adds GPLv3 physical-planning files
bradnussbaum May 8, 2024
1400f52
Adds GPLv3 slotted-runtime files
bradnussbaum May 8, 2024
708f298
Cleans up imports for StoreUtil
bradnussbaum May 16, 2024
d51564e
Organizes LogService import
bradnussbaum Jun 17, 2024
d11b8d8
Updates for community to with ongdb name changes and new certificates
bradnussbaum Jun 20, 2024
50861d1
Updates for DatabaseFileNames scope change
bradnussbaum Jun 20, 2024
fe58043
Removes ongdb-shell
bradnussbaum Jul 18, 2024
2c9e5a3
Enterprise geequel implementation for large scale 3.5 community updates
bradnussbaum Jul 18, 2024
fbe0b07
Removes ongdb-shell
bradnussbaum Jul 18, 2024
2052cf3
Fixes failing TransactionStatusResultTests
bradnussbaum Jul 22, 2024
3499e67
Fixes failing StandardNetworkConnectionTrackerTest
bradnussbaum Jul 22, 2024
11995e3
Organizes imports for EnterpriseGraphDatabase
bradnussbaum Aug 1, 2024
c199a94
Type change for lock count moving to active lock count int to long
bradnussbaum Mar 9, 2025
0e3cf32
Refactors EnterpriseGraphDatabaseFactory to improve database creation…
bradnussbaum Mar 10, 2025
723df04
Refactors ForsetiClient to replace PrimitiveLongIntMap with MutableLo…
bradnussbaum Mar 11, 2025
0b87d86
Refactors ForsetiFalseDeadlockTest to improve structure and readability
bradnussbaum Mar 11, 2025
2d2a6eb
Refactors PageCacheWarmer and related classes to improve database dir…
bradnussbaum Mar 11, 2025
1ad0d47
Refactors PageCacheWarmerTest to improve test structure and add valid…
bradnussbaum Mar 11, 2025
52cf8a0
Refactors HighLimitStoreMigrationTest to improve import organization …
bradnussbaum Mar 11, 2025
1ec6710
Refactors ConfigurableIOLimiter to enhance test visibility with @Visi…
bradnussbaum Mar 11, 2025
032e67b
Fix typo in relativeReferenceConversion test method name
bradnussbaum Mar 11, 2025
2b4b7da
Refactors RecordFormatSelectorTest to utilize TestDirectory for impro…
bradnussbaum Mar 11, 2025
7ccadec
Resolves issues related to graph database startup: No dependency sati…
bradnussbaum Mar 12, 2025
3891e94
Refactors ConsistencyCheckWithCorruptGBPTreeIT to use final modifiers…
bradnussbaum Mar 12, 2025
c0fa39d
Refactors decorateTxStateVisitor method to improve parameter naming f…
bradnussbaum Mar 12, 2025
a210a6d
Refactors imports and method signatures for improved readability and …
bradnussbaum Mar 12, 2025
b3a0788
Fix typo in assertion message for clarity in IdReuseTest
bradnussbaum Mar 12, 2025
00647a5
Refactor property existence checks in EnterpriseConstraintSemantics t…
bradnussbaum Mar 13, 2025
e17c9c1
Refactor PropertyExistenceEnforcer to remove unused schemaConstraints…
bradnussbaum Mar 13, 2025
dac43e2
Refactor HighLimitStoreMigrationTest to make methods static for impro…
bradnussbaum Mar 13, 2025
65f5779
Refactor imports in AbstractConstraintCreationIT for improved clarity…
bradnussbaum Mar 13, 2025
191ff15
Refactor imports in PropertyConstraintValidationIT, PropertyExistence…
bradnussbaum Mar 13, 2025
d737cb9
Refactor prepareStoreReadLayerMock in PropertyExistenceEnforcerTest t…
bradnussbaum Apr 11, 2025
7419d44
fix(community/values): add America/Coyhaique TZIDS entry for modern JDK
bradnussbaum Jun 27, 2026
fef6a0f
fix(community/neo4j): close NodeValueIndexCursor in fusion index IT
bradnussbaum Jun 27, 2026
cd10a69
fix(kernel): close explicit index cursor on IndexHits.size()
bradnussbaum Jun 27, 2026
02c566a
fix(kernel): close relationship cursors on traverser shutdown
bradnussbaum Jun 27, 2026
e041e61
fix(kernel-it): use ambient node cursor in relationship test helper
bradnussbaum Jun 27, 2026
1ef8f82
fix(kernel-it): stabilize block-based index population memory IT
bradnussbaum Jun 27, 2026
b2715ff
fix(cypher-it): close legacy query resources reliably
bradnussbaum Jun 28, 2026
fe68ab3
fix(enterprise-kernel): remove redundant constructor modifier
bradnussbaum Jun 28, 2026
49bb534
fix(enterprise-kernel): advance highlimit cursor after record read
bradnussbaum Jun 28, 2026
ac6429b
fix(enterprise-kernel): wire TestDirectory rule in module test
bradnussbaum Jun 28, 2026
6a67518
fix(enterprise-kernel): null-safe query timing in listQueries proc
bradnussbaum Jun 28, 2026
22c673a
fix(enterprise-kernel): validate property existence via tx Read API
bradnussbaum Jun 28, 2026
7f19efe
fix(enterprise-kernel): use recordId-relative refs in highlimit rel test
bradnussbaum Jun 28, 2026
604818d
fix(enterprise-kernel): close tx cursors in PropertyExistenceEnforcer
bradnussbaum Jun 28, 2026
b75ccaf
fix(enterprise-security): use byte credentials in auth token tests
bradnussbaum Jun 28, 2026
c4db053
fix(enterprise-kernel): configure multi-db paths in test factory
bradnussbaum Jun 28, 2026
ef78bcc
fix(enterprise-security): wire SecurityProvider auth manager accessors
bradnussbaum Jun 28, 2026
9e6cf32
fix(enterprise-kernel): register BoltConnectionTracker in edition module
bradnussbaum Jun 28, 2026
344d84d
fix(enterprise-security): accept byte[] credentials in LDAP and plugi…
bradnussbaum Jun 28, 2026
7bf0cdd
fix(bolt): register authenticated sessions with BoltConnectionTracker
bradnussbaum Jun 28, 2026
2567b71
fix(bolt): restore Config import in factory test
bradnussbaum Jun 28, 2026
2c320f6
fix(enterprise-security): correct UTF8 import in bolt IT tests
bradnussbaum Jun 28, 2026
670a156
fix(bolt): guard session registration on managed state machines
bradnussbaum Jun 28, 2026
1925aa0
fix(ldap): normalize byte[] credentials before LDAP bind
bradnussbaum Jun 28, 2026
8f6b442
fix(bolt): map auth provider failures to AuthenticationException
bradnussbaum Jun 28, 2026
d7892e1
fix(bolt): decode byte[] credentials in INIT auth tokens
bradnussbaum Jun 28, 2026
eebc9be
Keep property blacklist set alive for permission predicate.
bradnussbaum Jun 28, 2026
dd8a095
Close leaked statements and preserve user termination on rollback.
bradnussbaum Jun 28, 2026
82c2e0e
Restore transient wrapping for terminated transactions at API layer.
bradnussbaum Jun 28, 2026
474d1e3
Register noop Bolt connection tracker in community edition.
bradnussbaum Jun 28, 2026
6e692be
Fall back to noop Bolt tracker when dependency is missing.
bradnussbaum Jun 28, 2026
5e9a884
Fix file size assertion type in store copy writer test.
bradnussbaum Jun 28, 2026
84a6f2f
Wire TestDirectory rule chain in ResponsePackerIT.
bradnussbaum Jun 28, 2026
505afd1
Mock StoreAccess dependencies in index sampling bean test.
bradnussbaum Jun 28, 2026
9c5a3d0
Fix causal clustering store copy and admin command tests.
bradnussbaum Jun 28, 2026
57173b9
Expect tx pull writer argument in RemoteStoreTest.
bradnussbaum Jun 28, 2026
5884edb
Wire core id generator factory into IdContextFactoryBuilder.
bradnussbaum Jun 28, 2026
65d727e
Defer catchup server setup until the default database is registered.
bradnussbaum Jun 28, 2026
5ae933a
Fix checkstyle in EnterpriseCoreEditionModule after startup reorder.
bradnussbaum Jun 28, 2026
6763967
Initialize edition invariants before default database registration.
bradnussbaum Jun 28, 2026
4bc6a45
Resolve transaction log dependencies from the local database data sou…
bradnussbaum Jun 29, 2026
05009aa
Defer catchup handler transaction log dependency resolution.
bradnussbaum Jun 29, 2026
78bcfa8
Ask for dependency slowly
SpecialThing44 Jul 16, 2025
46f2979
Fix checkstyle in catchup dependency resolution changes.
bradnussbaum Jun 29, 2026
e5e9e8b
Update catchup store copy unit tests for data source dependencies.
bradnussbaum Jun 29, 2026
47dbac8
Detect transaction logs via LogFilesBuilder for multi-database layout.
bradnussbaum Jun 29, 2026
a991105
Resolve catchup checkpointer from local database data source.
bradnussbaum Jun 29, 2026
96c44e3
Pull transactions after empty-store copy during snapshot download.
bradnussbaum Jun 29, 2026
dcac089
Update CoreStateDownloader tests for post-copy transaction pull.
bradnussbaum Jun 29, 2026
ed7fb11
Do not repeat transaction pull after empty-store snapshot copy.
bradnussbaum Jun 29, 2026
3c9102f
Handle uninitialized store state during cluster snapshot catchup.
bradnussbaum Jun 29, 2026
9f8763d
Resolve replicated token commands from the started data source.
bradnussbaum Jun 29, 2026
9b531c9
Resolve catchup and read-replica deps from local database.
bradnussbaum Jun 29, 2026
ccc37e2
fix(causal-clustering): align catchup store-copy IT paths with defaul…
bradnussbaum Jun 29, 2026
ca173e5
fix(causal-clustering): use TestDirectory.databaseDir() in catchup IT.
bradnussbaum Jun 29, 2026
d8baf47
Promote copied store files from the per-database directory during cat…
bradnussbaum Jun 29, 2026
7f0938b
Pin read-replica store copy to the upstream that supplied the store id.
bradnussbaum Jun 29, 2026
ab0c6de
Reload token holders from store after read-replica store replacement.
bradnussbaum Jun 29, 2026
38c0e2a
Refresh read-replica tokens after store copy and fix catchup recovery.
bradnussbaum Jun 29, 2026
ec18a12
Reload read-replica tokens only after store replacement.
bradnussbaum Jun 30, 2026
4bbf8c5
Persist replicated token holders to store before store-copy snapshots.
bradnussbaum Jun 30, 2026
02534e9
Flush holder tokens into store copy on core and harden catchup staging.
bradnussbaum Jun 30, 2026
4e540ba
fix(causal-clustering): align cluster IT harness with 3.5 database la…
bradnussbaum Jun 30, 2026
d904778
Harden core store-copy token sync for causal clustering.
bradnussbaum Jun 30, 2026
a20081f
Complete partial token records before core store-copy snapshots.
bradnussbaum Jun 30, 2026
dd59419
Bootstrap core token holders after store copy from raft log.
bradnussbaum Jun 30, 2026
bfd44fc
Probe in-use token slots when reloading holders from store.
bradnussbaum Jun 30, 2026
bc57e9e
Rebuild core token registries after snapshot install from raft, tx lo…
bradnussbaum Jun 30, 2026
0734338
Skip join-side token sync during core snapshot install.
bradnussbaum Jun 30, 2026
a6bb71d
Unwrap raft token commands and refresh tokens after applier resume.
bradnussbaum Jun 30, 2026
e54ccb6
Fix core TokenHolders wiring so label lookups use the label registry.
bradnussbaum Jun 30, 2026
3a98c7d
Harden core token bootstrap after snapshot store copy.
bradnussbaum Jun 30, 2026
1ecb35f
Stop flushing page cache when reloading tokens from store.
bradnussbaum Jun 30, 2026
2adc22d
Fix multi-cluster IT EMFILE from Netty FD accumulation.
bradnussbaum Jun 30, 2026
03f745f
Fix Hazelcast read-replica rediscovery after core restart.
bradnussbaum Jul 1, 2026
63f4420
fix(backup): register online backup as database kernel extension
bradnussbaum Jul 1, 2026
344a257
fix(backup): resolve ongdb.conf path for backup CLI ITs
bradnussbaum Jul 1, 2026
8282181
fix(com): align store copy with multi-db layout paths.
bradnussbaum Jul 1, 2026
91fa0ed
fix(causal-clustering): avoid store copy when seeding from backup.
bradnussbaum Jul 1, 2026
d4a26a4
fix(backup): recover backup target before consistency check.
bradnussbaum Jul 1, 2026
24892f4
test(backup): harden online backup IT harness for multi-db.
bradnussbaum Jul 1, 2026
d7d473f
fix(fulltext): preserve legacy fulltext config during upgrade
bradnussbaum Jul 2, 2026
14ff937
fix(kernel-it): remove brittle index recovery log assertion
bradnussbaum Jul 2, 2026
dd676a9
test(causal-clustering): lock deterministic store-copy regression guards
bradnussbaum Jul 2, 2026
3791fcb
test(causal-clustering): close restart replication and routing gaps
bradnussbaum Jul 2, 2026
0038b23
fix(cypher): restore enterprise runtime entrypoints for targeted tests
bradnussbaum Jul 3, 2026
bd244b4
test(cypher): realign enterprise spec suites with current harness
bradnussbaum Jul 3, 2026
91b26e1
test(cypher): trim stale compiled compatibility blacklist
bradnussbaum Jul 3, 2026
63b0504
fix(index-it): close explicit-index test resources deterministically
bradnussbaum Jul 3, 2026
781cb7d
fix(kernel): tie distinct-value property cursors to index cursor life…
bradnussbaum Jul 3, 2026
df5fa18
fix(graph-algo): close single-path traversal resources deterministically
bradnussbaum Jul 4, 2026
243b8c7
test(cypher): avoid brittle fixed flush count
bradnussbaum Jul 4, 2026
21ba2f2
fix(cypher): close relationship cursors on partial iteration
bradnussbaum Jul 4, 2026
d9c1b55
test(causal-clustering): quarantine native Hazelcast startup hangs
bradnussbaum Jul 5, 2026
1f3661f
test(causal-clustering): quarantine ReadReplicaReplicationIT native t…
bradnussbaum Jul 5, 2026
853e585
test(causal-clustering): quarantine resume5 native reactor timeouts
bradnussbaum Jul 5, 2026
587d954
fix(ha): satisfy checkstyle line-length limits
bradnussbaum Jul 5, 2026
77d8e66
fix(ha): port module to 1.1 kernel APIs after shell removal
bradnussbaum Jul 5, 2026
94d506b
fix(ha): align NOTICE.txt trailing newline with licensing plugin
bradnussbaum Jul 5, 2026
2cf4609
fix(ha): sync LICENSES.txt with licensing plugin output
bradnussbaum Jul 5, 2026
d9e60a9
fix(ha): skip unported IT test-compile for native reactor install
bradnussbaum Jul 5, 2026
3d3d97c
fix(metrics): skip unported IT test-compile for native reactor
bradnussbaum Jul 5, 2026
a5eacc1
Fix StoreInfoCommandEnterpriseTest database layout
bradnussbaum Jul 5, 2026
8763376
Disable enterprise failsafe ITs until missing fixtures compile.
bradnussbaum Jul 5, 2026
fadece1
Fix compiled runtime execution result and geequel tests
bradnussbaum Jul 5, 2026
6b30d2a
Port server-enterprise to GraphFactory server API
bradnussbaum Jul 5, 2026
adc9c34
Update harness-enterprise GraphFactory integration and skip failing t…
bradnussbaum Jul 5, 2026
fbe7feb
Sync deferred-locks licensing and skip unported ITs
bradnussbaum Jul 5, 2026
4bfc863
Sync acceptance-spec-suite licensing and skip tests
bradnussbaum Jul 5, 2026
34aa64e
Sync compatibility-spec-suite licensing and skip TCK tests
bradnussbaum Jul 5, 2026
31dc01c
Gate integration/stress tests on explicit 1.1 prerequisites
bradnussbaum Jul 5, 2026
c5273e9
Sync tools LICENSES.txt for 1.1 licensing plugin
bradnussbaum Jul 5, 2026
9ffe33d
Disable ongdb-tools tests until current test utilities are in place.
bradnussbaum Jul 5, 2026
d6e6ec3
Sync standalone packaging NOTICE.txt for 1.1
bradnussbaum Jul 5, 2026
8942b83
Sync standalone packaging LICENSES.txt for 1.1
bradnussbaum Jul 5, 2026
f156bc6
Sync community standalone distribution NOTICE for 1.1
bradnussbaum Jul 6, 2026
74445fd
Sync community standalone distribution LICENSES for 1.1
bradnussbaum Jul 6, 2026
5f32485
Remove obsolete jline dependency from standalone assemblies
bradnussbaum Jul 6, 2026
647c475
Sync enterprise standalone NOTICE files for 1.1
bradnussbaum Jul 6, 2026
6e7a102
Sync enterprise standalone LICENSES files for 1.1
bradnussbaum Jul 6, 2026
18557a3
Bound causal-clustering server shutdown waits.
bradnussbaum Jul 6, 2026
491f84e
test(causal-clustering): lock non-default database startup lifecycle
bradnussbaum Jul 7, 2026
f4e7bad
test(causal-clustering): re-enable native reactor quarantined scenarios
bradnussbaum Jul 7, 2026
debfc32
test(tools,harness): restore test gates with 1.1 API fixes
bradnussbaum Jul 7, 2026
12f2049
test(deferred-locks): restore deferred-locks suite execution
bradnussbaum Jul 7, 2026
163a48a
test(cluster): restore default cluster test execution
bradnussbaum Jul 7, 2026
f05abb6
test(cypher-compatibility): restore compatibility suite execution
bradnussbaum Jul 7, 2026
51e5cd5
test(ha): restore HA execution and fix store-copy test wiring
bradnussbaum Jul 7, 2026
e6930eb
test(metrics): restore metrics test compilation in default lifecycle
bradnussbaum Jul 7, 2026
bc3aa3e
Re-enable integration tests after 3.5 API drift.
bradnussbaum Jul 8, 2026
88c5e04
Guard HA branching from mutating module paths.
bradnussbaum Jul 8, 2026
90c485b
Re-enable stresstests with deterministic API updates.
bradnussbaum Jul 8, 2026
59591ad
test(release-gates): close disabled-only suppressions and restore upg…
bradnussbaum Jul 9, 2026
939b913
test(io): stabilize muninn real-filesystem timeouts
bradnussbaum Jul 9, 2026
24c992f
test(kernel): harden DNS and jstack tests for sandboxed runs
bradnussbaum Jul 9, 2026
baf4574
ci: add free public Actions gates and audited release flow
bradnussbaum Jul 9, 2026
189ab18
ci: set release environment reviewer in apply-github-settings
bradnussbaum Jul 9, 2026
f01009d
docs(ci): note nightly cron lives on default branch 1.0
bradnussbaum Jul 9, 2026
9d6b15c
ci: skip cypher in 1.1-dev compile-unit gate
bradnussbaum Jul 9, 2026
2689bb5
ci: install reactor and harden ResetFuzzTest wait
bradnussbaum Jul 10, 2026
8653e4d
test(kernel-it): tolerate transient index population handoff buffers
bradnussbaum Jul 10, 2026
aee72a1
ci: scope compile-unit to community reactor
bradnussbaum Jul 10, 2026
42879a2
Add public full-reactor workflow for release-line branches.
bradnussbaum Jul 9, 2026
9157d50
Update ONgDB tagline to Context Graphs for AI.
bradnussbaum Jul 10, 2026
e0f5b99
ci(release): deploy to Sonatype with GPG from Environment secrets
bradnussbaum Jul 10, 2026
2e5e7e8
ci: bump Actions to Node 24-compatible majors
bradnussbaum Jul 10, 2026
7d6a2a9
ci(release): document RC tag example in workflow_dispatch
bradnussbaum Jul 10, 2026
1f28a5d
ci(release): use SemVer pre-release form 1.1.0-rc01 in examples
bradnussbaum Jul 10, 2026
864ade9
ci: split release full-reactor from module-aware dev PR gates
bradnussbaum Jul 10, 2026
d296273
docs(ci): align BRANCHING.md with release vs module-aware dev gates
bradnussbaum Jul 10, 2026
8178ede
test(ha): close node iterator in HardKillIT
bradnussbaum Jul 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
46 changes: 46 additions & 0 deletions .github/BRANCHING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# ONgDB branch model and CI gates

Public repository: [`graphfoundation/ongdb`](https://github.com/graphfoundation/ongdb).

| Ref | Purpose | Required CI | Produces release? |
|-----|---------|-------------|-------------------|
| `*-dev` (e.g. `1.1-dev`) | Integration | **`dev-quality-gate`** (module-aware) | **No** |
| Release lines `1.0` / `1.1` / `2.0` | Audited ship lines | **`full-reactor`** + nightly | Tags only |
| Tags `1.1.*` | Immutable release pointer | `release.yml` + Environment `release` | Yes |

Details: ongdb-dev [CI-BRANCH-STRATEGY.md](https://github.com/graphfoundation/ongdb-dev) (docs) / product scripts under `.github/scripts/`.

## Flow

1. Optional: push WIP to private remote `dev` (`graphfoundation/ongdb-dev`).
2. PR into **`1.1-dev`** → `dev-quality-gate` (changed modules + `-am`/`-amd`, or full if blast radius is large).
3. Audit PR **`1.1-dev` → `1.1`** → must pass **`full-reactor`**.
4. Tag `1.1.x` / `1.1.0-rc01` from `1.1` → approve Environment **`release`**.

**Invariant:** GitHub Release assets come only from a tag on protected `1.1` after Environment approval. Nightly snapshots are not releases.

## Repository settings

```bash
.github/scripts/apply-github-settings.sh
```

That script sets:

- Release branches `1.0`, `1.1`, `2.0` → require `full-reactor`
- Dev branches `1.0-dev`, `1.1-dev`, `2.0-dev` → require `dev-quality-gate`
- Environment `release` with required reviewer

**Nightly cron:** loaded from the repo **default** branch; builds matrix `1.0`, `1.1`, `2.0`.

## Tag discipline

```bash
git fetch origin 1.1
git checkout 1.1 && git pull --ff-only origin 1.1
# versions:set to match tag, then:
git tag -a 1.1.0-rc01 -m "ONgDB 1.1.0-rc01"
git push origin 1.1.0-rc01
```

`release.yml` fails if the tagged commit is not an ancestor of `origin/1.1`.
9 changes: 9 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Release-sensitive paths require review from maintainers on PRs into protected
# release lines (e.g. 1.1). Update the owner list when the maintainer team changes.
# Docs: .github/BRANCHING.md

* @bradnussbaum

/.github/ @bradnussbaum
/enterprise/ @bradnussbaum
/packaging/ @bradnussbaum
75 changes: 75 additions & 0 deletions .github/scripts/apply-github-settings.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#!/usr/bin/env bash
# Apply branch protection for release vs dev lines on graphfoundation/ongdb.
# Requires: gh auth with admin on the repo.
set -euo pipefail

REPO="${REPO:-graphfoundation/ongdb}"
REVIEWER_LOGIN="${RELEASE_REVIEWER:-$(gh api user --jq .login)}"
REVIEWER_ID="$(gh api "users/${REVIEWER_LOGIN}" --jq .id)"

echo "Applying settings to ${REPO}"
gh api user --jq .login >/dev/null

protect_release() {
local branch="$1"
echo "Release protection: ${branch} (require full-reactor)"
gh api -X PUT "repos/${REPO}/branches/${branch}/protection" --input - <<EOF
{
"required_status_checks": {
"strict": true,
"contexts": ["full-reactor"]
},
"enforce_admins": true,
"required_pull_request_reviews": {
"required_approving_review_count": 1,
"dismiss_stale_reviews": true,
"require_code_owner_reviews": true
},
"restrictions": null,
"allow_force_pushes": false,
"allow_deletions": false,
"required_conversation_resolution": true
}
EOF
}

protect_dev() {
local branch="$1"
echo "Dev protection: ${branch} (require dev-quality-gate)"
gh api -X PUT "repos/${REPO}/branches/${branch}/protection" --input - <<EOF
{
"required_status_checks": {
"strict": true,
"contexts": ["dev-quality-gate"]
},
"enforce_admins": false,
"required_pull_request_reviews": null,
"restrictions": null,
"allow_force_pushes": false,
"allow_deletions": false
}
EOF
}

for b in 1.0 1.1 2.0; do
protect_release "$b" || echo "WARN: could not protect ${b} (branch missing?)"
done

for b in 1.0-dev 1.1-dev 2.0-dev; do
protect_dev "$b" || echo "WARN: could not protect ${b} (branch missing?)"
done

gh api -X PUT "repos/${REPO}/environments/release" --input - <<EOF
{
"wait_timer": 0,
"prevent_self_review": false,
"reviewers": [
{"type": "User", "id": ${REVIEWER_ID}}
],
"deployment_branch_policy": null
}
EOF
echo "Environment 'release' ensured with reviewer @${REVIEWER_LOGIN}."
echo
echo "Manual: Org Billing → Actions spend budget (larger runners \$0)."
echo "Ensure nightly.yml + full-reactor-public.yml exist on each release line (or default branch)."
92 changes: 92 additions & 0 deletions .github/scripts/changed-maven-modules.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#!/usr/bin/env bash
# Map git changes to Maven module paths for -pl / -am / -amd.
# Usage: changed-maven-modules.sh <base-ref>
# Writes to GITHUB_OUTPUT (if set) and stdout:
# mode=skip|affected|full
# modules=path1,path2 (only when mode=affected)
set -euo pipefail

BASE_REF="${1:?Usage: $0 <base-ref>}"

if ! git rev-parse --verify "$BASE_REF" >/dev/null 2>&1; then
echo "Base ref not found: $BASE_REF — defaulting to full reactor" >&2
MODE=full
MODULES=
else
mapfile -t CHANGED < <(git diff --name-only "$BASE_REF"...HEAD | sed '/^$/d' || true)

if [[ ${#CHANGED[@]} -eq 0 ]]; then
MODE=skip
MODULES=
else
declare -A MOD_SET=()
FORCE_FULL=0
ONLY_DOCS=1

for f in "${CHANGED[@]}"; do
case "$f" in
*.md|*.adoc|*.txt|LICENSE*|NOTICE*|COPYRIGHT*|.gitignore)
continue

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Txt changes skip Maven gate

Medium Severity

The dev gate treats every *.txt path (including module LICENSES.txt / NOTICE.txt) as non-build documentation. If a PR changes only those files, mode=skip and pr-dev.yml completes without running Maven, even when licensing or packaging checks would fail a full build.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit d296273. Configure here.

;;
.github/workflows/*|.github/scripts/*|pom.xml|build-resources/*)
FORCE_FULL=1
ONLY_DOCS=0
;;
*)
ONLY_DOCS=0
;;
esac

# Walk up to nearest directory containing pom.xml (module root)
dir="$(dirname "$f")"
while [[ "$dir" != "." && "$dir" != "/" ]]; do
if [[ -f "${dir}/pom.xml" ]]; then
# Root pom → full reactor
if [[ "$dir" == "." ]]; then
FORCE_FULL=1
else
MOD_SET["$dir"]=1
fi
break
fi
parent="$(dirname "$dir")"
[[ "$parent" == "$dir" ]] && break
dir="$parent"
done
if [[ -f pom.xml && ( "$f" == pom.xml || "$dir" == "." ) ]]; then
if [[ "$f" == pom.xml ]]; then
FORCE_FULL=1
fi
fi
done

if [[ "$ONLY_DOCS" -eq 1 ]]; then
MODE=skip
MODULES=
elif [[ "$FORCE_FULL" -eq 1 ]]; then
MODE=full
MODULES=
else
MODULES="$(printf '%s\n' "${!MOD_SET[@]}" | sort | paste -sd, -)"
if [[ -z "$MODULES" ]]; then
MODE=full
else
# Cap: too many modules → full reactor is simpler/faster than huge -pl lists
COUNT="$(awk -F',' '{print NF}' <<<"$MODULES")"
if [[ "$COUNT" -gt 25 ]]; then
MODE=full
MODULES=
else
MODE=affected
fi
fi
fi
fi
fi

echo "mode=${MODE}"
echo "modules=${MODULES}"
if [[ -n "${GITHUB_OUTPUT:-}" ]]; then
echo "mode=${MODE}" >> "$GITHUB_OUTPUT"
echo "modules=${MODULES}" >> "$GITHUB_OUTPUT"
fi
48 changes: 48 additions & 0 deletions .github/scripts/tarball-smoke.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#!/usr/bin/env bash
# Smoke-test an ONgDB standalone unix tarball: extract, start, wait for HTTP, stop.
set -euo pipefail

TARBALL="${1:?Usage: tarball-smoke.sh <ongdb-*-unix.tar.gz>}"
if [[ ! -f "$TARBALL" ]]; then
echo "Tarball not found: $TARBALL" >&2
exit 1
fi

WORKDIR="$(mktemp -d)"
cleanup() {
if [[ -n "${ONGDB_HOME:-}" && -x "${ONGDB_HOME}/bin/ongdb" ]]; then
"${ONGDB_HOME}/bin/ongdb" stop || true
fi
rm -rf "$WORKDIR"
}
trap cleanup EXIT

tar -xzf "$TARBALL" -C "$WORKDIR"
ONGDB_HOME="$(find "$WORKDIR" -mindepth 1 -maxdepth 1 -type d | head -n 1)"
if [[ -z "$ONGDB_HOME" || ! -x "${ONGDB_HOME}/bin/ongdb" ]]; then
echo "Could not locate bin/ongdb under extracted tarball" >&2
exit 1
fi

echo "Starting ONgDB from ${ONGDB_HOME}"
"${ONGDB_HOME}/bin/ongdb" start

HTTP_PORT=7474
ATTEMPTS=0
RETRIES=90
STATUS=0
until [[ "$STATUS" == "200" ]]; do
ATTEMPTS=$((ATTEMPTS + 1))
STATUS="$(curl -s -o /dev/null -w '%{http_code}' --connect-timeout 1 --max-time 3 \
"http://127.0.0.1:${HTTP_PORT}" || echo 0)"
if [[ "$ATTEMPTS" -gt "$RETRIES" ]]; then
echo "ONgDB did not become ready on :${HTTP_PORT} within ${RETRIES}s (last status=${STATUS})" >&2
"${ONGDB_HOME}/bin/ongdb" status || true
exit 1
fi
sleep 1
done

echo "ONgDB HTTP ready (status ${STATUS}) after ${ATTEMPTS}s"
"${ONGDB_HOME}/bin/ongdb" stop
echo "Tarball smoke OK: $(basename "$TARBALL")"
102 changes: 102 additions & 0 deletions .github/workflows/full-reactor-public.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Full-reactor CI — required on release lines (1.0, 1.1, 2.0).
# Also runs on pushes to those branches. Dev lines use pr-dev.yml instead.
# See ongdb-dev/ongdb-11/CI-BRANCH-STRATEGY.md

name: Public full reactor

on:
push:
branches:
- '1.0'
- '1.1'
- '2.0'
pull_request:
branches:
- '1.0'
- '1.1'
- '2.0'
workflow_dispatch:
inputs:
branch:
description: Optional branch to build (defaults to event branch)
required: false
type: string

concurrency:
group: full-reactor-${{ github.repository }}-${{ github.ref }}
cancel-in-progress: true

env:
MAVEN_OPTS: -Xmx4g
JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

jobs:
full-reactor:
if: github.repository == 'graphfoundation/ongdb'
runs-on: ubuntu-latest
timeout-minutes: 480
permissions:
contents: read
steps:
- name: Resolve checkout ref
id: target
run: |
set -euo pipefail
if [[ "${{ github.event_name }}" == "workflow_dispatch" && -n "${{ inputs.branch }}" ]]; then
ref="${{ inputs.branch }}"
elif [[ "${{ github.event_name }}" == "pull_request" ]]; then
ref="${{ github.head_ref }}"
else
ref="${GITHUB_REF_NAME}"
fi
echo "ref=${ref}" >> "$GITHUB_OUTPUT"
echo "Selected ref: ${ref}"

- uses: actions/checkout@v5
with:
fetch-depth: 0
ref: ${{ steps.target.outputs.ref }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fork PR checkout uses head ref

Medium Severity

For pull_request events, the workflow checks out github.head_ref (the branch name) instead of the PR's head commit. This can lead to incorrect revisions being built or checkout failures for fork PRs, as the branch often doesn't exist on the upstream repository.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 1f28a5d. Configure here.


- name: Raise open file limit
run: ulimit -n 40000 && ulimit -n

- name: Resolve Java version for branch
id: java
run: |
set -euo pipefail
java_version="8"
case "${{ steps.target.outputs.ref }}" in
2.*)
java_version="11"
;;
esac
echo "version=${java_version}" >> "$GITHUB_OUTPUT"
echo "Using Java ${java_version}"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong Java on PR builds

High Severity

For pull requests, the workflow determines the Java version based on the PR's source branch (github.head_ref) rather than the target branch. This can result in an incorrect Java version being used (e.g., Java 8 instead of 11 for 2.0 targets), allowing CI to pass without validating the actual JDK requirements of the merge target.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit d296273. Configure here.


- name: Set up JDK
uses: actions/setup-java@v5
with:
java-version: ${{ steps.java.outputs.version }}
distribution: temurin
cache: maven

- name: Full reactor clean install
run: |
set -euo pipefail
mvn -B -Drevapi.skip=true clean install | tee full-reactor-build.log

- name: Upload full-reactor artifacts and logs
if: always()
uses: actions/upload-artifact@v6
with:
name: full-reactor-${{ steps.target.outputs.ref }}-${{ github.run_id }}
path: |
full-reactor-build.log
**/target/surefire-reports/**
**/target/failsafe-reports/**
packaging/standalone/target/ongdb-community-*-unix.tar.gz
packaging/standalone/target/ongdb-enterprise-*-unix.tar.gz
packaging/standalone/target/ongdb-community-*-windows.zip
packaging/standalone/target/ongdb-enterprise-*-windows.zip
if-no-files-found: ignore
retention-days: 30
Loading
Loading