Hi,
I haven't looked at the JackRabbit code for ages, I was thinking abut
doing something similar a while back. With the release of the Amazon
database, I was thinking that a mixture of the database and S3
(binaries etc) might be a really good fit.
Maybe we should have a chat and do it together?
S
On 11 Jan 2008, at 15:32, Alexander Klimetschek wrote:
Hi all,
I am currently writing a BundlePersistenceManager for Amazon S3
(first started with a normal PM, but bundle seemed more feasible) .
I am using the binary serialization of the BundleBinding that is
also used by the DB Bundle PMs and always store the node data inside
the serialized node bundles, avoiding the BlobStore interface (by
setting the BundleBinding minBlobSize to the maximum).
Now I have problems when I test it with the JCR API test suite. Some
test cases work, but some fail. I just want to know if it is normal
for thoses test cases to fail or if someone has an idea what the
problem could be? I develop against the 1.3 branch and use the tests
from there as well. Here are two errors:
junit.framework.AssertionFailedError: Workspace does not contain
test data at: /testdata
at junit.framework.Assert.fail(Assert.java:47)
at
org
.apache.jackrabbit.test.AbstractJCRTest.setUp(AbstractJCRTest.java:
357)
at
org.apache.jackrabbit.test.api.RootNodeTest.setUp(RootNodeTest.java:
47)
at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at
org.apache.jackrabbit.test.AbstractJCRTest.run(AbstractJCRTest.java:
404)
testGetName
(org.apache.jackrabbit.test.api.WorkspaceReadMethodsTest) Time
elapsed: 0.004 sec <<< ERROR!
javax.jcr.NoSuchWorkspaceException: test
at
org
.apache
.jackrabbit.core.RepositoryImpl.getWorkspaceInfo(RepositoryImpl.java:
678)
at
org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:
1169)
at
org
.apache
.jackrabbit
.core.jndi.BindableRepository.login(BindableRepository.java:185)
at
org
.apache
.jackrabbit
.test.RepositoryHelper.getReadOnlySession(RepositoryHelper.java:133)
at
org
.apache
.jackrabbit
.test
.api
.WorkspaceReadMethodsTest.testGetName(WorkspaceReadMethodsTest.java:
63)
The latter one is odd: I couldn't find the place in the test case
where the workspace "test" would be created. There is no "test"
workspace in the file system structure as well.
I have only these 6 bundles stored in S3 when the test cases are done:
default/013b1937-85f4-45a6-8e16-1b136d693cea
default/0fab396b-92b3-45cb-b13b-b6501b72d8f7
default/5f949e64-4bb8-4689-8c22-469f07b1dfaa
default/cafebabe-cafe-babe-cafe-babecafebabe
default/deadbeef-cafe-babe-cafe-babecafebabe
version/deadbeef-face-babe-cafe-babecafebabe
Thanks for any hints in advance!
Alex
BTW: I know that this won't be the most efficient PM as the HTTP
connection delay to S3 is slowing things down. It's more a fun
project - and maybe it's fast enough when running on a EC2 machine.
I w