Skip to content

Conversation

ScottDugas
Copy link
Collaborator

No description provided.

This changes the way cluster files are specified for the tests,
introducing a new yaml file.
This makes it more amenable to having more than one cluster file.
The fdb-environment.properties is still supported so developers
don't immediately have to update their configuration.
This took a lot of trial and error in CI, and adding and
removing a lot of logging and investigative code.
The key thing that tripped me up was the fact that
you have to do `configure new ssd` if it is a new cluster,
which we were not doing previously, because the
installation created the cluster.
This might be a bit of overkill, if they aren't using
FDBDatabaseExtension, but it probably avoids confusion later on.
it was trying to connect to the default, which doesn't exist
The reason for the issue is that it was reassigning
`fdb = dbExtension.getDatabase()`, but it loaded data into `fdb` in
a `beforeEach`, so if it picked different clusters it wouldn't have
any data, and execute wouldn't fail.
In debugging I also removed teh second `openRecordStore`, because
the state should respond to calling `markIndexWriteOnly`, you shouldn't
have to re-read, and we actually say you should never open the same
store with different objects in the same transaction.

I also isolated the exception check, and switched to use assertJ for
the assertion, because it ends up being quite a bit cleaner than with
junit's assertions.
I tried putting it in testFixtures, but that doesn't play well with
other sub-projects already depending on the tests configuration
Doing so requires moving everything to testFixtures, so best to do in a
separate PR
I think in the long term we don't want the driver to work like this,
but I'm not sure how we want to have it work, and creating an api
for that seems like more work than it is worth at this time.
…tions

The external yaml connections do not support some operations that
aren't really needed in mixed-mode, so that needs the cluster file
from the connection.
I think people could be confused by getting different clusters
each call to `getDatabase`, so this persists that. If you want to
test against multiple clusters, use the indexed methods.
@ScottDugas ScottDugas force-pushed the without-yaml branch 5 times, most recently from a784835 to 621944b Compare September 23, 2025 20:30
This validates that if you don't have fdb-environment.yaml the
tests still pass (except the one with an assumption check)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant