jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dominique Pfister (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-56) File system abstraction
Date Thu, 03 May 2012 09:34:50 GMT

    [ https://issues.apache.org/jira/browse/OAK-56?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13267331#comment-13267331

Dominique Pfister commented on OAK-56:

> On a related note, what's the status of the related o.a.j.mk.fs code in oak-core? Unless
we need more of the > functionality than we currently do (one-liners in MicroKernelFactory
and NodeMapInDb), I'd rather replace it > with Commons IO or even just plain Java IO.

I'd replace it with Commons IO and its FileUtils features: this is already in use in other
projects (such as Jackrabbit itself) and much better tested.

> If, as it sounds like, the code will mostly be needed for the MicroKernel implementation,
we should at least > move the o.a.j.mk.fs package from oak-core to oak-mk.

I don't see a need for this in the MicroKernel implementation: instead of moving it back into
this project, I'd rather move it to oak-commons and rename the package to o.a.j.commons.fs,
if Tom insists on keeping it.
> File system abstraction
> -----------------------
>                 Key: OAK-56
>                 URL: https://issues.apache.org/jira/browse/OAK-56
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, mk
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>            Priority: Minor
> A file system abstraction allows to add new features (cross cutting concerns) in a modular
way, for example:
> - detection and special behavior of out-of-disk space situation
> - profiling and statistics over JMX
> - re-try on file system problems
> - encryption
> - file system monitoring
> - replication / real-time backup on the file system level (for clustering)
> - caching (improved performance for CRX)
> - allows to easily switch to faster file system APIs (FileChannel, memory mapped files)
> - debugging (for example, logging all file system operations)
> - allows to implement s3 / hadoop / mongodb / ... file systems - not only by us but from
3th party, possibly the end user
> - zip file system (for example to support read-only, compressed repositories)
> - testing: simulating out of disk space and out of memory (ensure the repository doesn't
corrupt in this case)
> - testing: simulate very large files (using an in-memory file system)
> - splitting very large files in 2 gb blocks (FAT and other file systems that don't support
large files)
> - data compression (if needed)

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message