15 months agoNeeded for jackrabbit 2 - since its no longer part of jackrabbit, jackrabbit2 tip
David Ireland <david@lshift.net> [Wed, 26 Jan 2011 10:53:54 +0000] rev 43
Needed for jackrabbit 2 - since its no longer part of jackrabbit,
but I need a distinct key type so node referecnes can go in the same
map/database as node state.

15 months agoThis passes the (limited) unit tests against jackrabbit2. This version is not compatible with jackrabbit1, either in terms of compilation, or on disk format of repositories. I'm not sure thats going to be possible in future either. Hence I'm creating a branch for Jackrabbit 2 support. jackrabbit2
hg [Wed, 26 Jan 2011 10:51:43 +0000] rev 42
This passes the (limited) unit tests against jackrabbit2. This version is not compatible with jackrabbit1, either in terms of compilation, or on disk format of repositories. I'm not sure thats going to be possible in future either. Hence I'm creating a branch for Jackrabbit 2 support.

16 months agoThis seems mostly to be about eliminating default
David Ireland <david@lshift.net> [Wed, 19 Jan 2011 17:21:35 +0000] rev 41
This seems mostly to be about eliminating
compilation warnings. I need to merge...

23 months agoYet another variation on the persistence manager. This is much simpler
David Ireland <david@lshift.net> [Wed, 09 Jun 2010 18:43:01 +0100] rev 40
Yet another variation on the persistence manager. This is much simpler
than the others - using jackrabbit libraries more, because most
optimisations are handled by the bundle persistence manager by
default.

Its hard to say if it performs well, and I haven't tested it with a
datastore yet.

2009-09-23Add the ability to run tools which don't modify the database in
David Ireland <david@lshift.net> [Wed, 23 Sep 2009 17:12:14 +0100] rev 39
Add the ability to run tools which don't modify the database in
read only mode, hence this gives us a hot backup.

Dealt with a bug that causes database values to be padded with zeros
to block boundaries. This substantially increases the size of
the database.

This is also a merge of some refactoring from my previous commit
done on another copy of the code.

2009-09-21Missing from previous commit - skeleton of a data store
David Ireland <david@lshift.net> [Mon, 21 Sep 2009 09:27:37 +0100] rev 38
Missing from previous commit - skeleton of a data store

2009-09-21Theres some refactoring here: moving the key generators into
David Ireland <david@lshift.net> [Mon, 21 Sep 2009 09:26:53 +0100] rev 37
Theres some refactoring here: moving the key generators into
separate top level classes. Support for DataStore is added to
the persistence manager, and the blob store gets just enough
file system support to work as a resource based blob store.
All this aims to reduce memory requirements in Jackrabbit as
a whole.

2009-09-14This is a fast checksum of Paul Crowleys devising. I've added it
David Ireland <david@lshift.net> [Mon, 14 Sep 2009 22:25:54 +0100] rev 36
This is a fast checksum of Paul Crowleys devising. I've added it
because SHA1DIgest was slowing things down significantly. I'll
have to get him to add some notes about it somewhen.

2009-09-14Working blob de-duplication.
David Ireland <david@lshift.net> [Mon, 14 Sep 2009 10:08:20 +0100] rev 35
Working blob de-duplication.

2009-09-07Detect duplicate blobs. Count references to them, and delete them
David Ireland <david@lshift.net> [Mon, 07 Sep 2009 23:00:42 +0100] rev 34
Detect duplicate blobs. Count references to them, and delete them
when they are no longer referenced.

2009-09-02That solves the dynamic dispatch problem. I don't understand why the previous versiondidn't work, but this one does.
david [Wed, 02 Sep 2009 19:51:08 +0100] rev 33
That solves the dynamic dispatch problem. I don't understand why the previous versiondidn't work, but this one does.

2009-09-02Re-applying an optimisation that avoids large byte array allocations and copies in blobs.
david [Wed, 02 Sep 2009 19:42:38 +0100] rev 32
Re-applying an optimisation that avoids large byte array allocations and copies in blobs.

2009-09-01I was actually quite wrong to think the stringKey order was the same as the binaryKey order - the numbers assigned to strings have a completely different ordering to the strings themselves. Its not very hard to use the actual order.
david [Tue, 01 Sep 2009 21:31:02 +0100] rev 31
I was actually quite wrong to think the stringKey order was the same as the binaryKey order - the numbers assigned to strings have a completely different ordering to the strings themselves. Its not very hard to use the actual order.

2009-08-31Don't delete the blobs of the new value after you have just written them! Add and modify no longer have enough in common to share a method. Separated them.
david [Mon, 31 Aug 2009 14:17:46 +0100] rev 30
Don't delete the blobs of the new value after you have just written them! Add and modify no longer have enough in common to share a method. Separated them.

2009-08-31Optimisation which sorts changes by their key before submitting them to BDB.
David Ireland <david@lshift.net> [Mon, 31 Aug 2009 12:21:18 +0100] rev 29
Optimisation which sorts changes by their key before submitting them to BDB.
BDB may do a fairly good job of this already, so its just an experiment.

2009-08-30This arranges for no-longer used blobs to be deleted. It also replaces the export with one that can cope with the internal blob store or an external one - either way, the blobs are included in the export file. The import only works if the target repository uses internal blobs. I've fixed some warnings that resulted from BDB collections interface now being parameterised.
david [Sun, 30 Aug 2009 12:20:02 +0100] rev 28
This arranges for no-longer used blobs to be deleted. It also replaces the export with one that can cope with the internal blob store or an external one - either way, the blobs are included in the export file. The import only works if the target repository uses internal blobs. I've fixed some warnings that resulted from BDB collections interface now being parameterised.

2009-08-28Blobs with locality and binary keys now works. Haven't tested
David Ireland <david@lshift.net> [Fri, 28 Aug 2009 22:45:10 +0100] rev 27
Blobs with locality and binary keys now works. Haven't tested
String based keys yet. Blob locality seems to improve write
performance by 10-20% in my ad hoc test of importing the
encyclopedia britanica.

2009-08-28Fixed various issues with the binary binding. This worked a little while ago when I had a separate map for blobs. Then I realised that meant I'd lost locality for blobs, so I merged them back into items. I don't know if that works yet.
david [Fri, 28 Aug 2009 19:11:21 +0100] rev 26
Fixed various issues with the binary binding. This worked a little while ago when I had a separate map for blobs. Then I realised that meant I'd lost locality for blobs, so I merged them back into items. I don't know if that works yet.

2009-07-17This is really just an in progress dump: I have a binary key binding that might work, as long as you don't use blobs
david [Fri, 17 Jul 2009 10:00:23 +0100] rev 25
This is really just an in progress dump: I have a binary key binding that might work, as long as you don't use blobs

2009-07-01Use tar instead of zip - writig tar files doesn't use memory,
david@wilpena [Wed, 01 Jul 2009 14:24:43 +0100] rev 24
Use tar instead of zip - writig tar files doesn't use memory,
while writing zip files keeps a table of contents in memory,
which is bad, under the circumstances.

2009-07-11Use tar instead of zip: zip keeps the table of contents in memory,
David Ireland <david@lshift.net> [Sat, 11 Jul 2009 11:50:02 +0100] rev 23
Use tar instead of zip: zip keeps the table of contents in memory,
which means the export could run out of memory.

2009-07-01Tool to dump database statistics
David Ireland <david@lshift.net> [Wed, 01 Jul 2009 08:43:55 +0100] rev 22
Tool to dump database statistics

2009-06-29Refactored so I can add a binary key generator, for more compact
David Ireland <david@lshift.net> [Mon, 29 Jun 2009 18:43:29 +0100] rev 21
Refactored so I can add a binary key generator, for more compact
keys. tests run but thats not saying all that much.

2009-06-27This is a big commit - It should have been done on several
David Ireland <david@lshift.net> [Sat, 27 Jun 2009 10:14:44 +0100] rev 20
This is a big commit - It should have been done on several
branches:

1) I've started work on a FileSystem implementation, which
invovled fgactoring out some common code.
2) This was partly superceded by adding blob support
directly to the persistentence manager
3) I've added some tools to import/export the repository into
a zip file. This is a work in progress: its not possible
to unzip the zip file.

2009-05-27Added tag 1.2.1 for changeset 3ddab77d0b29
David Ireland <david@lshift.net> [Wed, 27 May 2009 13:14:29 +0100] rev 19
Added tag 1.2.1 for changeset 3ddab77d0b29

2009-05-27Refactor out common functionality that I can use in an implementation 1.2.1
David Ireland <david@lshift.net> [Wed, 27 May 2009 13:14:18 +0100] rev 18
Refactor out common functionality that I can use in an implementation
of FileSystem later

2009-03-09I though I'd removed these already, but then I updated and
David Ireland <david@lshift.net> [Mon, 09 Mar 2009 17:23:53 +0000] rev 17
I though I'd removed these already, but then I updated and
got them again. This is all in lshift-jcr.

2009-03-04Use internal lshift jackrabbit repository temporarily
David Ireland <david@lshift.net> [Wed, 04 Mar 2009 17:51:07 +0000] rev 16
Use internal lshift jackrabbit repository temporarily

2009-02-10Some reformatting, and removed some comments that are now out of date
David Ireland <david@lshift.net> [Tue, 10 Feb 2009 17:59:35 +0000] rev 15
Some reformatting, and removed some comments that are now out of date

2009-02-10Move the examples to the right place
David Ireland <david@lshift.net> [Tue, 10 Feb 2009 14:02:57 +0000] rev 14
Move the examples to the right place

2009-02-10These are part of the import tool - not the persistence manager
David Ireland <david@lshift.net> [Tue, 10 Feb 2009 14:00:14 +0000] rev 13
These are part of the import tool - not the persistence manager

2009-02-10This is a clone of the jcr project, pruned down just to contain
David Ireland <david@lshift.net> [Tue, 10 Feb 2009 13:54:16 +0000] rev 12
This is a clone of the jcr project, pruned down just to contain
the bdb persistence manager. It may still have some unneccessary
dependencies.

2009-02-09Documentation, examples
David Ireland <david@lshift.net> [Mon, 09 Feb 2009 18:33:38 +0000] rev 11
Documentation, examples

2009-02-09This changes the way me manage an envronment. Clients name themselves,
David Ireland <david@lshift.net> [Mon, 09 Feb 2009 16:26:09 +0000] rev 10
This changes the way me manage an envronment. Clients name themselves,
and the environment closes when all the clients release it. This seems
delicate, to say the least, so there's also a servlet context listener
you can use to make sure all environments are closed when the context
is shut down.

2009-02-06Remove eclipse config and maven target
David Ireland <david@lshift.net> [Fri, 06 Feb 2009 12:54:15 +0000] rev 9
Remove eclipse config and maven target

2009-02-04update tags
convert-repo [Wed, 04 Feb 2009 17:49:41 +0000] rev 8
update tags

2008-02-21bug none: use only one database for everything
david [Thu, 21 Feb 2008 10:01:50 +0000] rev 7
bug none: use only one database for everything

2008-02-20bug none: use dynamic dispatch to clean things up a bit. Add some documentation. Time to release a new version.
david [Wed, 20 Feb 2008 19:25:00 +0000] rev 6
bug none: use dynamic dispatch to clean things up a bit. Add some documentation. Time to release a new version.

2008-02-20bug none: this is back to the point where it seems to work reliably.
david [Wed, 20 Feb 2008 13:42:05 +0000] rev 5
bug none: this is back to the point where it seems to work reliably.
There are several changes:
- uses an external block store
- uses jackrabbit's own build in serializations
- do everything in a transaction and use serializable isolation

Its the last one that makes everything work reliably.

2008-02-18bug none: don't use openDatabase() inside a transaction - writes to the database after the transaction is committed may be lost. Also checkpoint the environment when a persistence manager is closed - just to make sure its easy to start up again afterwards. v1_0_2
david [Mon, 18 Feb 2008 15:23:31 +0000] rev 4
bug none: don't use openDatabase() inside a transaction - writes to the database after the transaction is committed may be lost. Also checkpoint the environment when a persistence manager is closed - just to make sure its easy to start up again afterwards.

2008-02-18bug none: I mistakenly published multiple versions under the same version id. This should end the confusion
david [Mon, 18 Feb 2008 11:16:23 +0000] rev 3
bug none: I mistakenly published multiple versions under the same version id. This should end the confusion

2008-02-15bug none: some refactoring of the import and export tools. Its safer to test things with export. This doesn't work, but probably only because I don't have a complete enough classpath. v1_0
david [Fri, 15 Feb 2008 15:30:39 +0000] rev 2
bug none: some refactoring of the import and export tools. Its safer to test things with export. This doesn't work, but probably only because I don't have a complete enough classpath.

2008-02-14bug none: cosmetic and documentation changes. Some warnings are suppressed.
david [Thu, 14 Feb 2008 15:50:33 +0000] rev 1
bug none: cosmetic and documentation changes. Some warnings are suppressed.

2008-02-14bug none: This has various generally useful tools for use with jackrabbit. The only think I really want right now is the jackrabbit.BDBPersistenceManager which I'm considering using on Sodexho. I've tested it as working with Magnolia.
david [Thu, 14 Feb 2008 15:27:18 +0000] rev 0
bug none: This has various generally useful tools for use with jackrabbit. The only think I really want right now is the jackrabbit.BDBPersistenceManager which I'm considering using on Sodexho. I've tested it as working with Magnolia.