Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Currently SCM closes all containers and pipelines during finalization, so that a datanode must finalize before it writes new data. For more invasive layout features this may be necessary, but in the common case it generates container churn and slows down the finalization process. The majority of layout features seen so far involve a simple on/off switch and minor additions to the disk state, so we should provide a way to bypass the "close everything" step if it is not needed.
This jira proposes allowing unfinalized datanodes to continue serving writes if the layout features needing to be finalized are simple. In this case SCM finalization could skip closing containers and pipelines.
cc kerneltime who initially proposed this improvement to the finalization process.