[jira] [Updated] (OAK-424) MongoMicroKernel changes

2012-11-08 Thread Mete Atamel (JIRA)

 [ 
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

2012-11-08 Thread Mete Atamel (JIRA)

 [ 
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

2012-11-08 Thread Marcel Reutegger (JIRA)
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

2012-11-08 Thread JIRA

[ 
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

2012-11-08 Thread Thomas Mueller (JIRA)

 [ 
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

2012-11-08 Thread angela (JIRA)

[ 
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

2012-11-08 Thread angela (JIRA)

[ 
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

2012-11-08 Thread JIRA
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

2012-11-08 Thread JIRA

[ 
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

2012-11-08 Thread JIRA

[ 
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

2012-11-08 Thread JIRA

[ 
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

2012-11-08 Thread JIRA

[ 
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

2012-11-08 Thread Mete Atamel (JIRA)

[ 
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

2012-11-08 Thread JIRA

[ 
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

2012-11-08 Thread JIRA

[ 
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

2012-11-08 Thread JIRA

 [ 
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

2012-11-08 Thread Mete Atamel (JIRA)

[ 
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

2012-11-08 Thread Mete Atamel (JIRA)

 [ 
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