Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate linking graph IDs to static unique IDs #3182

Open
GCHQDeveloper314 opened this issue Mar 27, 2024 · 0 comments
Open

Investigate linking graph IDs to static unique IDs #3182

GCHQDeveloper314 opened this issue Mar 27, 2024 · 0 comments
Labels
feature A proposed new feature

Comments

@GCHQDeveloper314
Copy link
Member

Describe the new feature you'd like
Graphs are identified by a 'Graph ID', these are used for all store types.

Inside the Store there could be methods to link the ID to a static unique (GUID style) ID. These methods would allow for a graph ID to be changed whilst keeping the GUID the same.

Why do you want this feature?
It would make implementing graph IDs changes in future Gaffer Stores much easier.

Stores which make use of a separate system for providing backing storage to store graph data (currently only the Accumulo Store) do not have a standardised approach for how to identify data associated with different graphs. For example, in Accumulo data for a Gaffer graph is stored in an Accumulo table with a table name the same as the Gaffer graph ID. This works so long as the Gaffer graph ID doesn't change. If a graph's ID needs to be changed, this also necessitates a change to the Accumulo table name associated with that graph. With the GUID approach above, the Accumulo table name would always be unique and wouldn't need to be changed - only the mapping from graph ID to GUID would change.

Describe alternatives you've considered
Continuing to have ad-hoc management of this in individual stores with custom code in the Federated Store to facilitate graph ID changes.

Additional context
See #2495 for context. While the Accumulo Store is used as an example above, it would be breaking to remove the current method.

Re-adding an existing graph (where data already exists) is a use case which relies on the specified graph ID being used in the backing storage. Accommodating this use case could be done with an option for the Federated Store AddGraph operation to include a direct reference to an internal GUID.

@GCHQDeveloper314 GCHQDeveloper314 added the feature A proposed new feature label Mar 27, 2024
@GCHQDeveloper314 GCHQDeveloper314 added this to the Long Term Backlog milestone Mar 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A proposed new feature
Projects
None yet
Development

No branches or pull requests

1 participant