All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bigdata.resources.package.html Maven / Gradle / Ivy



Managing Journals and Index Segments for a Data Service



This package provides the logic to managed the live journal and the historical journals and index segments for a {@link com.bigdata.service.DataService}.

Overflow actions (Split, Join, Move, Build, Merge, etc.)

The critical distinction among the actions is whether or not they change the index partition identifier, in which case they define a new index partition. {@link OverflowActionEnum#Copy}, {@link OverflowActionEnum#Build} and {@link OverflowActionEnum#Merge} are "actions" which DO NOT change the index partition identifier.

For actions which define a new index partition, the critical distinction is whether the action is 1:N ({@link OverflowActionEnum#Split}) or N:1 ({@link OverflowActionEnum#Join}). Note that both {@link OverflowActionEnum#Split} and {@link OverflowActionEnum#Join} can conceptually locate the new index partition(s) on different data service(s). {@link OverflowActionEnum#Move} DOES change the index partition identifier and is in effect a 1:1 action. Since the locator for an index partition MUST NOT change, MOVE serves to "rename" an index partition, and in the process relocates it on another data service.

Neither {@link OverflowActionEnum#Split} nor {@link OverflowActionEnum#Join} is restricted to operate on only the local index partitions. The critical constaint when writing these operations is that they MUST hold exclusive write locks on the source index partition(s) such that the change in the index partitions can be made atomic. However, the manner in which the operation proceeds does differ when some of the output partition(s) will be located on a different data service. It is also more complex when some of the input partition(s) will be located on a different data service as the write lock must be coordinated across two or more data services.





© 2015 - 2025 Weber Informatics LLC | Privacy Policy