[jira] [Updated] (OAK-424) MongoMicroKernel changes
[ https://issues.apache.org/jira/browse/OAK-424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mete Atamel updated OAK-424: Description: I worked on MongoMK in my own fork [0] and this is a request to merge those changes back into Oak. There's a pull request [1] but the summary of changes are the following: -Performance tests for MicroKernel by Tudor Rogoz. -Test and fix for OAK-351 -Removed all @author and other code reorganization -Fix for FetchValidCommitsQuery -Fix for MicroKernelIT#copyDescendant test -Jsop fixes -Diff support and tests -Osgi support -Branch support and tests -Merge support and tests -GetJournal fixes -GetRevisionHistory fixes -Fixes and tests for copy, move nodes -Fix for OAK-384 -General API and code cleanup -Split diff, merge, getJournal, getRevHistory, waitForCommit into its own commands -Converted *CommandMongo tests into MongoMK* tests -Fixes for concurrency issue reported by Tudor. -Renamed head collection to sync -Moved MongoUtil functionality under Mongoconnection -Renamed *Query clases into *Action -oak-mongo-perf cleanup -Merged CommitImpl into CommitMongo -Renamed MongoBlobStore to MongoGridFSBlobStore -Initial MongoBlobStore implementation based on AbstractBlobStore -Blob retrieval fix in MongoGridFSBlobStore -Move collection handling from MongoConnection to MongoNodeStore [0] https://github.com/meteatamel/jackrabbit-oak/ [1] https://github.com/apache/jackrabbit-oak/pull/6 was: I worked on MongoMK in my own fork [0] and this is a request to merge those changes back into Oak. There's a pull request [1] but the summary of changes are the following: -Performance tests for MicroKernel by Tudor Rogoz. -Test and fix for OAK-351 -Removed all @author and other code reorganization -Fix for FetchValidCommitsQuery -Fix for MicroKernelIT#copyDescendant test -Jsop fixes -Diff support and tests -Osgi support -Branch support and tests -Merge support and tests -GetJournal fixes -GetRevisionHistory fixes -Fixes and tests for copy, move nodes -Fix for OAK-384 -General API and code cleanup -Split diff, merge, getJournal, getRevHistory, waitForCommit into its own commands -Converted *CommandMongo tests into MongoMK* tests -Fixes for concurrency issue reported by Tudor. -Renamed head collection to sync -Moved MongoUtil functionality under Mongoconnection -Renamed *Query clases into *Action -oak-mongo-perf cleanup [0] https://github.com/meteatamel/jackrabbit-oak/ [1] https://github.com/apache/jackrabbit-oak/pull/6 MongoMicroKernel changes Key: OAK-424 URL: https://issues.apache.org/jira/browse/OAK-424 Project: Jackrabbit Oak Issue Type: Improvement Components: mk Reporter: Mete Atamel Attachments: oak-mongomk-merge-failure-test.diff I worked on MongoMK in my own fork [0] and this is a request to merge those changes back into Oak. There's a pull request [1] but the summary of changes are the following: -Performance tests for MicroKernel by Tudor Rogoz. -Test and fix for OAK-351 -Removed all @author and other code reorganization -Fix for FetchValidCommitsQuery -Fix for MicroKernelIT#copyDescendant test -Jsop fixes -Diff support and tests -Osgi support -Branch support and tests -Merge support and tests -GetJournal fixes -GetRevisionHistory fixes -Fixes and tests for copy, move nodes -Fix for OAK-384 -General API and code cleanup -Split diff, merge, getJournal, getRevHistory, waitForCommit into its own commands -Converted *CommandMongo tests into MongoMK* tests -Fixes for concurrency issue reported by Tudor. -Renamed head collection to sync -Moved MongoUtil functionality under Mongoconnection -Renamed *Query clases into *Action -oak-mongo-perf cleanup -Merged CommitImpl into CommitMongo -Renamed MongoBlobStore to MongoGridFSBlobStore -Initial MongoBlobStore implementation based on AbstractBlobStore -Blob retrieval fix in MongoGridFSBlobStore -Move collection handling from MongoConnection to MongoNodeStore [0] https://github.com/meteatamel/jackrabbit-oak/ [1] https://github.com/apache/jackrabbit-oak/pull/6 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (OAK-430) Incorrect read logic in AbstractBlobStore
[ https://issues.apache.org/jira/browse/OAK-430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mete Atamel updated OAK-430: Attachment: diff.txt Attaching a modified test that exhibits the bug. Incorrect read logic in AbstractBlobStore - Key: OAK-430 URL: https://issues.apache.org/jira/browse/OAK-430 Project: Jackrabbit Oak Issue Type: Bug Components: mk Reporter: Mete Atamel Priority: Minor Attachments: diff.txt AbstractBlobStore has incorrect read logic that manifests itself in this scenario: -Set block size to 80 and min block size to something less than 80 (eg. 48) -Write a blob of length 81 -Try to read blob of length 81 At this point, you get a blob of length 81 but the last byte in the array is zero (i.e. the last byte is not read correctly). I think this is because in blob write, first 80 bytes are written as a block and then the last byte is inlined since it's less than 48. This is all fine but while reading the blob, after reading the first 80 bytes from the block, 1 byte is forgotten. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (OAK-432) Repository does not restart with PrivilegeInitializer
Marcel Reutegger created OAK-432: Summary: Repository does not restart with PrivilegeInitializer Key: OAK-432 URL: https://issues.apache.org/jira/browse/OAK-432 Project: Jackrabbit Oak Issue Type: Bug Reporter: Marcel Reutegger Priority: Blocker PrivilegeInitializer tries to register built-in privileges on every startup and fails on a second start with: javax.jcr.RepositoryException: Privilege definition with name 'rep:readNodes' already exists. at org.apache.jackrabbit.oak.security.privilege.PrivilegeDefinitionWriter.writePrivilegeNode(PrivilegeDefinitionWriter.java:75) at org.apache.jackrabbit.oak.security.privilege.PrivilegeDefinitionWriter.writeDefinitions(PrivilegeDefinitionWriter.java:56) at org.apache.jackrabbit.oak.security.privilege.PrivilegeInitializer.initialize(PrivilegeInitializer.java:82) ... 34 more -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-417) Refactor/reimplement TreeImpl.getStatus and TreeImpl.getPropertyStatus to take advantage of the underlying NodeBuilder
[ https://issues.apache.org/jira/browse/OAK-417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13493131#comment-13493131 ] Michael Dürig commented on OAK-417: --- In revision 1407001 and 1407022 I pushed node status calculation down to {{NodeBuilder}}. Property status calculation is still done in {{TreeImpl}} though. Not sure whether it makes sense to also push this down into {{NodeBuilder}}. Refactor/reimplement TreeImpl.getStatus and TreeImpl.getPropertyStatus to take advantage of the underlying NodeBuilder -- Key: OAK-417 URL: https://issues.apache.org/jira/browse/OAK-417 Project: Jackrabbit Oak Issue Type: Improvement Components: core Reporter: Michael Dürig Said methods should use the information already present in the underlying {{NodeBuilder}} to determine the {{Status}}. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (OAK-430) Incorrect read logic in AbstractBlobStore
[ https://issues.apache.org/jira/browse/OAK-430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Thomas Mueller reassigned OAK-430: -- Assignee: Thomas Mueller Incorrect read logic in AbstractBlobStore - Key: OAK-430 URL: https://issues.apache.org/jira/browse/OAK-430 Project: Jackrabbit Oak Issue Type: Bug Components: mk Reporter: Mete Atamel Assignee: Thomas Mueller Priority: Minor Attachments: diff.txt AbstractBlobStore has incorrect read logic that manifests itself in this scenario: -Set block size to 80 and min block size to something less than 80 (eg. 48) -Write a blob of length 81 -Try to read blob of length 81 At this point, you get a blob of length 81 but the last byte in the array is zero (i.e. the last byte is not read correctly). I think this is because in blob write, first 80 bytes are written as a block and then the last byte is inlined since it's less than 48. This is all fine but while reading the blob, after reading the first 80 bytes from the block, 1 byte is forgotten. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-396) Limit property index to nodes of given type
[ https://issues.apache.org/jira/browse/OAK-396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13493147#comment-13493147 ] angela commented on OAK-396: this is a bug not an improvement Limit property index to nodes of given type --- Key: OAK-396 URL: https://issues.apache.org/jira/browse/OAK-396 Project: Jackrabbit Oak Issue Type: Bug Components: core Affects Versions: 0.5 Reporter: Marcel Reutegger As discussed on the mailing list [0] the property index must be enhanced to take the node type into account. [0] http://jackrabbit.markmail.org/thread/loudobqviwvhsli5 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-432) Repository does not restart with PrivilegeInitializer
[ https://issues.apache.org/jira/browse/OAK-432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13493168#comment-13493168 ] angela commented on OAK-432: sorry for that... i always run the complete build including integrationtest but never restart ;) hope it's fixed with revision 1407069, please reopen if that's not the case Repository does not restart with PrivilegeInitializer - Key: OAK-432 URL: https://issues.apache.org/jira/browse/OAK-432 Project: Jackrabbit Oak Issue Type: Bug Reporter: Marcel Reutegger Assignee: angela Priority: Blocker PrivilegeInitializer tries to register built-in privileges on every startup and fails on a second start with: javax.jcr.RepositoryException: Privilege definition with name 'rep:readNodes' already exists. at org.apache.jackrabbit.oak.security.privilege.PrivilegeDefinitionWriter.writePrivilegeNode(PrivilegeDefinitionWriter.java:75) at org.apache.jackrabbit.oak.security.privilege.PrivilegeDefinitionWriter.writeDefinitions(PrivilegeDefinitionWriter.java:56) at org.apache.jackrabbit.oak.security.privilege.PrivilegeInitializer.initialize(PrivilegeInitializer.java:82) ... 34 more -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (OAK-433) MicroKernel.write() returns empty string for empty stream
Michael Dürig created OAK-433: - Summary: MicroKernel.write() returns empty string for empty stream Key: OAK-433 URL: https://issues.apache.org/jira/browse/OAK-433 Project: Jackrabbit Oak Issue Type: Improvement Components: mk Reporter: Michael Dürig Priority: Minor Calling {{MicroKernel.write}} with an empty stream as argument, will return an empty string as blobId. While this is not strictly a bug and retrieving the blob by that identifier works, I think it is confusing and should be reconsidered. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-428) Binaries might get removed by garbage collection while still referenced
[ https://issues.apache.org/jira/browse/OAK-428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13493226#comment-13493226 ] Michael Dürig commented on OAK-428: --- Using :blobId: instead of bin: to prefix binaries leads to special casing in how the type codes are interpreted. Worse, it might break {{PrefixContentIndex}} wrt. to the changes from OAK-182. Binaries might get removed by garbage collection while still referenced --- Key: OAK-428 URL: https://issues.apache.org/jira/browse/OAK-428 Project: Jackrabbit Oak Issue Type: Bug Components: core Reporter: Michael Dürig The [Microkernel contract|http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-mk-api/src/main/java/org/apache/jackrabbit/mk/api/MicroKernel.java] specifies a specific format for references to binaries: :blobId:blobId. Currently oak-core uses a different format and thus risks premature garbage collection of such binaries. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Comment Edited] (OAK-428) Binaries might get removed by garbage collection while still referenced
[ https://issues.apache.org/jira/browse/OAK-428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13493228#comment-13493228 ] Michael Dürig edited comment on OAK-428 at 11/8/12 2:46 PM: This patch changes the prefix from bin: to :blobId. All test cases pass. However I suspect {{PrefixContentIndex}} is now broken for binary properties. [~tmueller], [~alexparvulescu] could you check and add a test case before we proceed with the patch? was (Author: mduerig): This patch changes the prefix from bin: to :blobId. All test cases pass. However I suspect {{PrefixContentIndex}} is now broken for binary properties. Binaries might get removed by garbage collection while still referenced --- Key: OAK-428 URL: https://issues.apache.org/jira/browse/OAK-428 Project: Jackrabbit Oak Issue Type: Bug Components: core Reporter: Michael Dürig Attachments: OAK-428.patch The [Microkernel contract|http://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-mk-api/src/main/java/org/apache/jackrabbit/mk/api/MicroKernel.java] specifies a specific format for references to binaries: :blobId:blobId. Currently oak-core uses a different format and thus risks premature garbage collection of such binaries. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-424) MongoMicroKernel changes
[ https://issues.apache.org/jira/browse/OAK-424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13493254#comment-13493254 ] Michael Dürig commented on OAK-424: --- Merged changes into trunk at revision 1407119. Thanks for the patch! MongoMicroKernel changes Key: OAK-424 URL: https://issues.apache.org/jira/browse/OAK-424 Project: Jackrabbit Oak Issue Type: Improvement Components: mk Reporter: Mete Atamel Attachments: oak-mongomk-merge-failure-test.diff I worked on MongoMK in my own fork [0] and this is a request to merge those changes back into Oak. There's a pull request [1] but the summary of changes are the following: -Performance tests for MicroKernel by Tudor Rogoz. -Test and fix for OAK-351 -Removed all @author and other code reorganization -Fix for FetchValidCommitsQuery -Fix for MicroKernelIT#copyDescendant test -Jsop fixes -Diff support and tests -Osgi support -Branch support and tests -Merge support and tests -GetJournal fixes -GetRevisionHistory fixes -Fixes and tests for copy, move nodes -Fix for OAK-384 -General API and code cleanup -Split diff, merge, getJournal, getRevHistory, waitForCommit into its own commands -Converted *CommandMongo tests into MongoMK* tests -Fixes for concurrency issue reported by Tudor. -Renamed head collection to sync -Moved MongoUtil functionality under Mongoconnection -Renamed *Query clases into *Action -oak-mongo-perf cleanup -Merged CommitImpl into CommitMongo -Renamed MongoBlobStore to MongoGridFSBlobStore -Initial MongoBlobStore implementation based on AbstractBlobStore -Blob retrieval fix in MongoGridFSBlobStore -Move collection handling from MongoConnection to MongoNodeStore [0] https://github.com/meteatamel/jackrabbit-oak/ [1] https://github.com/apache/jackrabbit-oak/pull/6 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-424) MongoMicroKernel changes
[ https://issues.apache.org/jira/browse/OAK-424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13493261#comment-13493261 ] Michael Dürig commented on OAK-424: --- I get test failures when I run {{mvn clean install -Pmongomk}} do I need to have a local MongoDB instance running in order for this to work or should it work OOTB? MongoMicroKernel changes Key: OAK-424 URL: https://issues.apache.org/jira/browse/OAK-424 Project: Jackrabbit Oak Issue Type: Improvement Components: mk Reporter: Mete Atamel Attachments: oak-mongomk-merge-failure-test.diff I worked on MongoMK in my own fork [0] and this is a request to merge those changes back into Oak. There's a pull request [1] but the summary of changes are the following: -Performance tests for MicroKernel by Tudor Rogoz. -Test and fix for OAK-351 -Removed all @author and other code reorganization -Fix for FetchValidCommitsQuery -Fix for MicroKernelIT#copyDescendant test -Jsop fixes -Diff support and tests -Osgi support -Branch support and tests -Merge support and tests -GetJournal fixes -GetRevisionHistory fixes -Fixes and tests for copy, move nodes -Fix for OAK-384 -General API and code cleanup -Split diff, merge, getJournal, getRevHistory, waitForCommit into its own commands -Converted *CommandMongo tests into MongoMK* tests -Fixes for concurrency issue reported by Tudor. -Renamed head collection to sync -Moved MongoUtil functionality under Mongoconnection -Renamed *Query clases into *Action -oak-mongo-perf cleanup -Merged CommitImpl into CommitMongo -Renamed MongoBlobStore to MongoGridFSBlobStore -Initial MongoBlobStore implementation based on AbstractBlobStore -Blob retrieval fix in MongoGridFSBlobStore -Move collection handling from MongoConnection to MongoNodeStore [0] https://github.com/meteatamel/jackrabbit-oak/ [1] https://github.com/apache/jackrabbit-oak/pull/6 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-424) MongoMicroKernel changes
[ https://issues.apache.org/jira/browse/OAK-424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13493262#comment-13493262 ] Mete Atamel commented on OAK-424: - Thanks for merging the changes. Yes, you need a local Mongo instance for MongoMK tests to pass. That's why oak-mongomk is not part of the main build. I'm not sure if there's a way to setup Mongo by default for everyone. MongoMicroKernel changes Key: OAK-424 URL: https://issues.apache.org/jira/browse/OAK-424 Project: Jackrabbit Oak Issue Type: Improvement Components: mk Reporter: Mete Atamel Attachments: oak-mongomk-merge-failure-test.diff I worked on MongoMK in my own fork [0] and this is a request to merge those changes back into Oak. There's a pull request [1] but the summary of changes are the following: -Performance tests for MicroKernel by Tudor Rogoz. -Test and fix for OAK-351 -Removed all @author and other code reorganization -Fix for FetchValidCommitsQuery -Fix for MicroKernelIT#copyDescendant test -Jsop fixes -Diff support and tests -Osgi support -Branch support and tests -Merge support and tests -GetJournal fixes -GetRevisionHistory fixes -Fixes and tests for copy, move nodes -Fix for OAK-384 -General API and code cleanup -Split diff, merge, getJournal, getRevHistory, waitForCommit into its own commands -Converted *CommandMongo tests into MongoMK* tests -Fixes for concurrency issue reported by Tudor. -Renamed head collection to sync -Moved MongoUtil functionality under Mongoconnection -Renamed *Query clases into *Action -oak-mongo-perf cleanup -Merged CommitImpl into CommitMongo -Renamed MongoBlobStore to MongoGridFSBlobStore -Initial MongoBlobStore implementation based on AbstractBlobStore -Blob retrieval fix in MongoGridFSBlobStore -Move collection handling from MongoConnection to MongoNodeStore [0] https://github.com/meteatamel/jackrabbit-oak/ [1] https://github.com/apache/jackrabbit-oak/pull/6 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-424) MongoMicroKernel changes
[ https://issues.apache.org/jira/browse/OAK-424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13493269#comment-13493269 ] Michael Dürig commented on OAK-424: --- I think we should follow up with the following points then: * Setup profiles for running the build with either of the Microkernels. So depending on the profile you choose you would either run all tests against the original Microkernel or against the MongoDB Microkernel. * Integration testing profile should run against all Microkernels. * Figure out how to run CI with above integration testing profile. We can't just embed MongoDB due to license incompatibilities. I'll follow up with separate issues. MongoMicroKernel changes Key: OAK-424 URL: https://issues.apache.org/jira/browse/OAK-424 Project: Jackrabbit Oak Issue Type: Improvement Components: mk Reporter: Mete Atamel Attachments: oak-mongomk-merge-failure-test.diff I worked on MongoMK in my own fork [0] and this is a request to merge those changes back into Oak. There's a pull request [1] but the summary of changes are the following: -Performance tests for MicroKernel by Tudor Rogoz. -Test and fix for OAK-351 -Removed all @author and other code reorganization -Fix for FetchValidCommitsQuery -Fix for MicroKernelIT#copyDescendant test -Jsop fixes -Diff support and tests -Osgi support -Branch support and tests -Merge support and tests -GetJournal fixes -GetRevisionHistory fixes -Fixes and tests for copy, move nodes -Fix for OAK-384 -General API and code cleanup -Split diff, merge, getJournal, getRevHistory, waitForCommit into its own commands -Converted *CommandMongo tests into MongoMK* tests -Fixes for concurrency issue reported by Tudor. -Renamed head collection to sync -Moved MongoUtil functionality under Mongoconnection -Renamed *Query clases into *Action -oak-mongo-perf cleanup -Merged CommitImpl into CommitMongo -Renamed MongoBlobStore to MongoGridFSBlobStore -Initial MongoBlobStore implementation based on AbstractBlobStore -Blob retrieval fix in MongoGridFSBlobStore -Move collection handling from MongoConnection to MongoNodeStore [0] https://github.com/meteatamel/jackrabbit-oak/ [1] https://github.com/apache/jackrabbit-oak/pull/6 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Comment Edited] (OAK-424) MongoMicroKernel changes
[ https://issues.apache.org/jira/browse/OAK-424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13493269#comment-13493269 ] Michael Dürig edited comment on OAK-424 at 11/8/12 3:58 PM: I think we should follow up with the following points then: * Setup profiles for running the build with either of the Microkernels. So depending on the profile you choose you would either run all tests against the original Microkernel or against the MongoDB Microkernel. * Integration testing profile should run against all Microkernels. * Figure out how to run CI with above integration testing profile. We can't just embed MongoDB due to license incompatibilities. See OAK-434. was (Author: mduerig): I think we should follow up with the following points then: * Setup profiles for running the build with either of the Microkernels. So depending on the profile you choose you would either run all tests against the original Microkernel or against the MongoDB Microkernel. * Integration testing profile should run against all Microkernels. * Figure out how to run CI with above integration testing profile. We can't just embed MongoDB due to license incompatibilities. I'll follow up with separate issues. MongoMicroKernel changes Key: OAK-424 URL: https://issues.apache.org/jira/browse/OAK-424 Project: Jackrabbit Oak Issue Type: Improvement Components: mk Reporter: Mete Atamel Attachments: oak-mongomk-merge-failure-test.diff I worked on MongoMK in my own fork [0] and this is a request to merge those changes back into Oak. There's a pull request [1] but the summary of changes are the following: -Performance tests for MicroKernel by Tudor Rogoz. -Test and fix for OAK-351 -Removed all @author and other code reorganization -Fix for FetchValidCommitsQuery -Fix for MicroKernelIT#copyDescendant test -Jsop fixes -Diff support and tests -Osgi support -Branch support and tests -Merge support and tests -GetJournal fixes -GetRevisionHistory fixes -Fixes and tests for copy, move nodes -Fix for OAK-384 -General API and code cleanup -Split diff, merge, getJournal, getRevHistory, waitForCommit into its own commands -Converted *CommandMongo tests into MongoMK* tests -Fixes for concurrency issue reported by Tudor. -Renamed head collection to sync -Moved MongoUtil functionality under Mongoconnection -Renamed *Query clases into *Action -oak-mongo-perf cleanup -Merged CommitImpl into CommitMongo -Renamed MongoBlobStore to MongoGridFSBlobStore -Initial MongoBlobStore implementation based on AbstractBlobStore -Blob retrieval fix in MongoGridFSBlobStore -Move collection handling from MongoConnection to MongoNodeStore [0] https://github.com/meteatamel/jackrabbit-oak/ [1] https://github.com/apache/jackrabbit-oak/pull/6 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (OAK-434) Setup build profiles to run against either of the Microkernel implementations
[ https://issues.apache.org/jira/browse/OAK-434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Dürig updated OAK-434: -- Description: We should change our build setup such that all tests of the upper layers (oak-core, oak-jcr) can be run against either of the Microkernels. AFAIK currently they are always run against the default Microkernel and not against the MongoDB based Microkernel. Even though when the building with the mongomk profile. Also the integration testing profile should be changed such, that it runs all against all Microkernel implementations. We need to figure out how we can do that with the MongoDB based Microkernel since due to licensing issues I think we can't just embed MongoDB. was:We should change our build setup such that all tests of the upper layers (oak-core, oak-jcr) can be run against either of the Microkernels. AFAIK currently they are always run against the default Microkernel and not against the MongoDB based Microkernel. Even though when the building with the mongomk profile. Setup build profiles to run against either of the Microkernel implementations -- Key: OAK-434 URL: https://issues.apache.org/jira/browse/OAK-434 Project: Jackrabbit Oak Issue Type: New Feature Reporter: Michael Dürig We should change our build setup such that all tests of the upper layers (oak-core, oak-jcr) can be run against either of the Microkernels. AFAIK currently they are always run against the default Microkernel and not against the MongoDB based Microkernel. Even though when the building with the mongomk profile. Also the integration testing profile should be changed such, that it runs all against all Microkernel implementations. We need to figure out how we can do that with the MongoDB based Microkernel since due to licensing issues I think we can't just embed MongoDB. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-424) MongoMicroKernel changes
[ https://issues.apache.org/jira/browse/OAK-424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13493272#comment-13493272 ] Mete Atamel commented on OAK-424: - Somewhat related, some of the tests in oak-mongomk are MongoMK specific but a lot of them can be generalized to run against any MK. I think a subtask is to generalize and move tests from oak-mongomk to oak-mk. Then, we can use fixtures to run against different MKs. That's how I run MicroKernelIT against MongoMK. MongoMicroKernel changes Key: OAK-424 URL: https://issues.apache.org/jira/browse/OAK-424 Project: Jackrabbit Oak Issue Type: Improvement Components: mk Reporter: Mete Atamel Assignee: Michael Dürig Fix For: 0.6 Attachments: oak-mongomk-merge-failure-test.diff I worked on MongoMK in my own fork [0] and this is a request to merge those changes back into Oak. There's a pull request [1] but the summary of changes are the following: -Performance tests for MicroKernel by Tudor Rogoz. -Test and fix for OAK-351 -Removed all @author and other code reorganization -Fix for FetchValidCommitsQuery -Fix for MicroKernelIT#copyDescendant test -Jsop fixes -Diff support and tests -Osgi support -Branch support and tests -Merge support and tests -GetJournal fixes -GetRevisionHistory fixes -Fixes and tests for copy, move nodes -Fix for OAK-384 -General API and code cleanup -Split diff, merge, getJournal, getRevHistory, waitForCommit into its own commands -Converted *CommandMongo tests into MongoMK* tests -Fixes for concurrency issue reported by Tudor. -Renamed head collection to sync -Moved MongoUtil functionality under Mongoconnection -Renamed *Query clases into *Action -oak-mongo-perf cleanup -Merged CommitImpl into CommitMongo -Renamed MongoBlobStore to MongoGridFSBlobStore -Initial MongoBlobStore implementation based on AbstractBlobStore -Blob retrieval fix in MongoGridFSBlobStore -Move collection handling from MongoConnection to MongoNodeStore [0] https://github.com/meteatamel/jackrabbit-oak/ [1] https://github.com/apache/jackrabbit-oak/pull/6 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (OAK-430) Incorrect read logic in AbstractBlobStore
[ https://issues.apache.org/jira/browse/OAK-430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mete Atamel resolved OAK-430. - Resolution: Not A Problem It's technically not a bug, so closing for now. We can revisit if it turns out to be a performance problem. Incorrect read logic in AbstractBlobStore - Key: OAK-430 URL: https://issues.apache.org/jira/browse/OAK-430 Project: Jackrabbit Oak Issue Type: Bug Components: mk Reporter: Mete Atamel Assignee: Thomas Mueller Priority: Minor Attachments: diff.txt AbstractBlobStore has incorrect read logic that manifests itself in this scenario: -Set block size to 80 and min block size to something less than 80 (eg. 48) -Write a blob of length 81 -Try to read blob of length 81 At this point, you get a blob of length 81 but the last byte in the array is zero (i.e. the last byte is not read correctly). I think this is because in blob write, first 80 bytes are written as a block and then the last byte is inlined since it's less than 48. This is all fine but while reading the blob, after reading the first 80 bytes from the block, 1 byte is forgotten. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira