You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Druid currently stores segment metadata in two places, i.e., metadata store and deep storage. In metadata store, segment metadata is stored in segments table. In deep storage, it's stored in descriptor.json file.
Druid core retrieves segment metadata only from the metadata store, and only insert-segment-to-db tool uses descriptor.json file to find segment files in deep storage.
However, storing metadata in two different places has several drawbacks.
Deep storage migration is complex because it needs to update metadata in both metadata store and deep storage.
insert-segment-to-db tool seems to be introduced for recovery when the metadata store is broken (#1861), but another approach should be employed to handle that kind of error, e.g., replicating metadata store.
Public Interfaces
DataSegmentFinder will be removed.
Proposed Changes
The segment metadata is stored only in the metadata store.
Compatibility, Deprecation, and Migration Plan
This is not a backward compatible change. descriptor.json file is no longer stored in deep storage. insert-segment-to-db tool will be removed.
Deep storage migration would become simpler since segment metadata needs to be updated in only metadata store.
Motivation
Druid currently stores segment metadata in two places, i.e., metadata store and deep storage. In metadata store, segment metadata is stored in
segmentstable. In deep storage, it's stored indescriptor.jsonfile.Druid core retrieves segment metadata only from the metadata store, and only
insert-segment-to-dbtool usesdescriptor.jsonfile to find segment files in deep storage.However, storing metadata in two different places has several drawbacks.
insert-segment-to-dbtool seems to be introduced for recovery when the metadata store is broken (#1861), but another approach should be employed to handle that kind of error, e.g., replicating metadata store.Public Interfaces
DataSegmentFinderwill be removed.Proposed Changes
The segment metadata is stored only in the metadata store.
Compatibility, Deprecation, and Migration Plan
This is not a backward compatible change.
descriptor.jsonfile is no longer stored in deep storage.insert-segment-to-dbtool will be removed.Deep storage migration would become simpler since segment metadata needs to be updated in only metadata store.
Test Plan
N/A
Rejected Alternatives
N/A