Francesco Mari created OAK-6404:
-----------------------------------
Summary: Move TAR handling logic in its own package
Key: OAK-6404
URL: https://issues.apache.org/jira/browse/OAK-6404
Project: Jackrabbit Oak
Issue Type: Bug
Components: segment-tar
Reporter: Francesco Mari
Assignee: Francesco Mari
Fix For: 1.8, 1.7.3
Classes related to TAR handling can be moved into a separate package. Some of
those classes ({{FileAccess}}, {{TarReader}}, {{TarWriter}}, {{TarEntry}})
contain implementation details but are currently unused from the rest of the
code. Access to these classes is currently encapsulated by {{TarFiles}}, which
makes the refactoring almost straightforward.
The refactoring also involves moving some monitoring interfaces
({{FileStoreMonitor}}, {{IOMonitor}}) that are supposed to be implemented
externally and passed to the TAR subsystem. The TAR subsystem will use the
provided implementations to communicate the progress of internal operations.
Implementation of those interfaces will stay where they are.
Finally, the refactoring involves moving {{TarRecovery}} too. This interface is
implemented by the TAR subsystem and is the only reason why {{TarWriter}} is
exposed to the rest of the code. This problem can be easily solved by
introducing a new interface that hides the usage of a {{TarWriter}} for the
recovery of a TAR entry.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)