Hi!

I am glad to announce the tx store version I just cheched in is now
stable. What does stable mean? It passed all functional tests of the
testsuite except the ones I will name below, in other words as stable as
it gets. Additionally, under concurrent stress tests with up to 100
parallel transactions the store remained stable.

There are still some Limitaions:
- Nulllocks do not work properly
- In massively concurrent environments deadlocks may occur due to
interleaving of multiple requests acces to the same resources. These
will be resolved by rolling back of one of the deadlocking transactions.
Even though, this is a conflict only, it will be displayed as an
internal server error.
- When transactions get rolled back, sometimes there still are null
locks hanging around

The cause for the null lock issue will have to be cleared. Maybe all
this has to do with certain oddities in MacroImpl. There will be another
post in the dev list about this later.

I recommend the store for the following applications:
- Development: Especially in development contexts there may be lots of
internal errors resulting in inconsistent data. In this case, the whole
stuff simply can be rolled back and the store remains stable. This was
our original motivation to build this store.
- Simple out-of-the-box solutions: Simple install and go solutions can
not rely on the existence of a RDBMS on every machine. Using this store
Slide works without it.
- What else? Maybe using it as the content store along with a RDBMS as Martin Holz seems to do...


Even though this store works with the "StandardStore" kernel store, I
highly recommend to use it with the "ExtendedStore" as it provides
transactional caching.

Your Domain.xml file should contain store definitions similar to one of
the two given below. The first uses StandardStore" as kernel store, the
second "ExtendedStore" with sensible caching options.
Replace [fill in path to your store dir here] with the path to your
store dir where the final data goes to
and [fill in path to your work dir here] with the path to your work dir
where temporary transactional data goes to.

Be sure not to set both to the same dir and also to have them on the
same file system.

<store name="tx">
    <nodestore
classname="org.apache.slide.store.txfile.TxXMLFileDescriptorsStore">
        <parameter name="rootpath">[fill in path to your store dir
here]/node</parameter>
        <parameter name="workpath">[fill in path to your work dir
here]/node</parameter>
        <parameter name="encoding">UTF-8</parameter>
    </nodestore>
    <securitystore>
        <reference store="nodestore"/>
    </securitystore>
    <lockstore>
        <reference store="nodestore"/>
    </lockstore>
    <revisiondescriptorsstore>
        <reference store="nodestore"/>
    </revisiondescriptorsstore>
    <revisiondescriptorstore>
        <reference store="nodestore"/>
    </revisiondescriptorstore>
    <contentstore
classname="org.apache.slide.store.txfile.TxFileContentStore">
        <parameter name="rootpath">[fill in path to your store dir
here]/content</parameter>
        <parameter name="workpath">[fill in path to your work dir
here]/content</parameter>
    </contentstore>
</store>

<store name="tx" classname="org.apache.slide.store.ExtendedStore">
    <parameter name="object-cache-size">10000</parameter>
    <parameter name="permission-cache-size">10000</parameter>
    <parameter name="lock-cache-size">100</parameter>
    <parameter name="descriptors-cache-size">10000</parameter>
    <parameter name="descriptor-cache-size">10000</parameter>
    <parameter name="enable-content-caching">true</parameter>
    <parameter name="content-cache-size">1000</parameter>
    <parameter name="content-cache-bytes">10000000</parameter> <!-- 10
MB global content cache-->
    <parameter name="tx-content-cache-bytes">1000000</parameter> <!-- 1
MB content cache per transaction -->
    <parameter name="tx-content-cache-size">1000</parameter>
    <parameter name="max-content-bytes-per-entry">500000</parameter>
<!-- 500 KB maximum size per cache entry -->
    <nodestore
classname="org.apache.slide.store.txfile.TxXMLFileDescriptorsStore">
        <parameter name="rootpath">[fill in path to your store dir
here]/node</parameter>
        <parameter name="workpath">[fill in path to your work dir
here]/node</parameter>
        <parameter name="encoding">UTF-8</parameter>
    </nodestore>
    <securitystore>
        <reference store="nodestore"/>
    </securitystore>
    <lockstore>
        <reference store="nodestore"/>
    </lockstore>
    <revisiondescriptorsstore>
        <reference store="nodestore"/>
    </revisiondescriptorsstore>
    <revisiondescriptorstore>
        <reference store="nodestore"/>
    </revisiondescriptorstore>
    <contentstore
classname="org.apache.slide.store.txfile.TxFileContentStore">
        <parameter name="rootpath">[fill in path to your store dir
here]/content</parameter>
        <parameter name="workpath">[fill in path to your work dir
here]/content</parameter>
    </contentstore>
</store>

That's it for now,

Oliver



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to