[jbosscache-dev] VAM in JDBCCacheLoader : performance numbers and analysis
Bela Ban
bela at jboss.org
Wed Jan 3 02:42:47 EST 2007
I suggest you isolate this using *no* JDBCCacheLoader, just simple VAM
(if it provides access methods for testing). This way, we can catch
performance regressions for the VAM. It would be a good idea (if this
hasn't already been done) to write some unit tests that compare VAM to
plain serialization and fail if the diff is more than N percent (I do
this in JGroups).
Galder Zamarreno wrote:
> Hi,
>
> I've been doing some performance tests for JDBCCacheLoader with both normal Java Serialization and VersionAwareMarshaller, using the existing JDBCCacheLoaderPerfTest.
>
> The results I got back were quite suprising. Executing a test consisting of 10 threads (each thread interacts with a single node) and each thread adds 100 key/value pairs to their node. Tests showed that normal serialization was something like 15 times faster than VAM when it came to writes. For reads, normal serialization was still 4 times faster. We're talking about String/String key value pairs here.
>
> Looking a bit deeper with the profiler, I have seen that TreeCacheMarshaller200 takes ages marshalling a map containing string key/value pairs. Is this expected? We're adding quite a few things to a simple String/String map, such as versioning and reference information. Compared to standard writeObject in HashMap, TreeCacheMarshaller200 spends quite a bit of time mantaining/updating a reference map.
>
> In this case, for a single put, each key and value values are different (key0/value0 key1/value1 key2/value2...), maintaining references becomes an extra overhead as the reference maps are created for each request to marshall the original map. However, I can see the point why it was done (avoid extra serialization and reduce the amount of data in the wire).
>
> I had a quick thought about caching reference data so that it survived several requests to marshal data, but it's probably a bad idea as this cache would become a contention for concurrent marshalling and increase the memory requirements. Has anyone been this route before? I think it might only produce positive results in such specific test as this.
>
> I tried JBoss serialization and the results were even worse. What type of Objects is JB serialization recommended for? Is it user defined ones?
>
> I have attached JProfiler files from all three tests and also a CVS diff in case anyone wants to have a quick glance. Note that even though there's 1000 calls to marshallMap, as threads add new key/value pairs, the data read-to-be-updated increases and hence the number of items to iterate through in the map.
>
> FYI, useRegionBasedMarshalling is set to false.
>
> Galder Zamarreño
> Sr. Software Maintenance Engineer
> JBoss, a division of Red Hat
>
> IT executives: Red Hat still #1 for value http://www.redhat.com/promo/vendor/
>
> ------------------------------------------------------------------------
>
> cvs diff -u (in directory C:\jboss\jira\JBCACHE-879\head\)
> ? classes
> ? derby.log
> cvs diff: Diffing .
> cvs diff: Diffing .settings
> cvs diff: Diffing ant-dist
> cvs diff: Diffing ant-dist/bin
> cvs diff: Diffing ant-dist/lib
> cvs diff: Diffing docs
> Index: docs/JBossORG-EULA.txt
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/docs/JBossORG-EULA.txt,v
> retrieving revision 1.2
> diff -u -r1.2 JBossORG-EULA.txt
> --- docs/JBossORG-EULA.txt 2 Nov 2006 09:09:40 -0000 1.2
> +++ docs/JBossORG-EULA.txt 2 Nov 2006 09:09:40 -0000
> @@ -1,107 +1,107 @@
> -LICENSE AGREEMENT
>
> -JBOSS(r)
>
> -
>
> -This License Agreement governs the use of the Software Packages and any updates to the Software
>
> -Packages, regardless of the delivery mechanism. Each Software Package is a collective work
>
> -under U.S. Copyright Law. Subject to the following terms, Red Hat, Inc. ("Red Hat") grants to
>
> -the user ("Client") a license to the applicable collective work(s) pursuant to the
>
> -GNU Lesser General Public License v. 2.1 except for the following Software Packages:
>
> -(a) JBoss Portal Forums and JBoss Transactions JTS, each of which is licensed pursuant to the
>
> -GNU General Public License v.2;
>
> -
>
> -(b) JBoss Rules, which is licensed pursuant to the Apache License v.2.0;
>
> -
>
> -(c) an optional download for JBoss Cache for the Berkeley DB for Java database, which is licensed under the
>
> -(open source) Sleepycat License (if Client does not wish to use the open source version of this database,
>
> -it may purchase a license from Sleepycat Software);
>
> -
>
> -and (d) the BPEL extension for JBoss jBPM, which is licensed under the Common Public License v.1,
>
> -and, pursuant to the OASIS BPEL4WS standard, requires parties wishing to redistribute to enter various
>
> -royalty-free patent licenses.
>
> -
>
> -Each of the foregoing licenses is available at http://www.opensource.org/licenses/index.php.
>
> -
>
> -1. The Software. "Software Packages" refer to the various software modules that are created and made available
>
> -for distribution by the JBoss.org open source community at http://www.jboss.org. Each of the Software Packages
>
> -may be comprised of hundreds of software components. The end user license agreement for each component is located in
>
> -the component's source code. With the exception of certain image files identified in Section 2 below,
>
> -the license terms for the components permit Client to copy, modify, and redistribute the component,
>
> -in both source code and binary code forms. This agreement does not limit Client's rights under,
>
> -or grant Client rights that supersede, the license terms of any particular component.
>
> -
>
> -2. Intellectual Property Rights. The Software Packages are owned by Red Hat and others and are protected under copyright
>
> -and other laws. Title to the Software Packages and any component, or to any copy, modification, or merged portion shall
>
> -remain with the aforementioned, subject to the applicable license. The "JBoss" trademark, "Red Hat" trademark, the
>
> -individual Software Package trademarks, and the "Shadowman" logo are registered trademarks of Red Hat and its affiliates
>
> -in the U.S. and other countries. This agreement permits Client to distribute unmodified copies of the Software Packages
>
> -using the Red Hat trademarks that Red Hat has inserted in the Software Packages on the condition that Client follows Red Hat's
>
> -trademark guidelines for those trademarks located at http://www.redhat.com/about/corporate/trademark/. Client must abide by
>
> -these trademark guidelines when distributing the Software Packages, regardless of whether the Software Packages have been modified.
>
> -If Client modifies the Software Packages, then Client must replace all Red Hat trademarks and logos identified at
>
> -http://www.jboss.com/company/logos, unless a separate agreement with Red Hat is executed or other permission granted.
>
> -Merely deleting the files containing the Red Hat trademarks may corrupt the Software Packages.
>
> -
>
> -3. Limited Warranty. Except as specifically stated in this Paragraph 3 or a license for a particular
>
> -component, to the maximum extent permitted under applicable law, the Software Packages and the
>
> -components are provided and licensed "as is" without warranty of any kind, expressed or implied,
>
> -including the implied warranties of merchantability, non-infringement or fitness for a particular purpose.
>
> -Red Hat warrants that the media on which Software Packages may be furnished will be free from defects in
>
> -materials and manufacture under normal use for a period of 30 days from the date of delivery to Client.
>
> -Red Hat does not warrant that the functions contained in the Software Packages will meet Client's requirements
>
> -or that the operation of the Software Packages will be entirely error free or appear precisely as described
>
> -in the accompanying documentation. This warranty extends only to the party that purchases the Services
>
> -pertaining to the Software Packages from Red Hat or a Red Hat authorized distributor.
>
> -
>
> -4. Limitation of Remedies and Liability. To the maximum extent permitted by applicable law, the remedies
>
> -described below are accepted by Client as its only remedies. Red Hat's entire liability, and Client's
>
> -exclusive remedies, shall be: If the Software media is defective, Client may return it within 30 days of
>
> -delivery along with a copy of Client's payment receipt and Red Hat, at its option, will replace it or
>
> -refund the money paid by Client for the Software. To the maximum extent permitted by applicable law,
>
> -Red Hat or any Red Hat authorized dealer will not be liable to Client for any incidental or consequential
>
> -damages, including lost profits or lost savings arising out of the use or inability to use the Software,
>
> -even if Red Hat or such dealer has been advised of the possibility of such damages. In no event shall
>
> -Red Hat's liability under this agreement exceed the amount that Client paid to Red Hat under this
>
> -Agreement during the twelve months preceding the action.
>
> -
>
> -5. Export Control. As required by U.S. law, Client represents and warrants that it:
>
> -(a) understands that the Software Packages are subject to export controls under the
>
> -U.S. Commerce Department's Export Administration Regulations ("EAR");
>
> -
>
> -(b) is not located in a prohibited destination country under the EAR or U.S. sanctions regulations
>
> -(currently Cuba, Iran, Iraq, Libya, North Korea, Sudan and Syria);
>
> -
>
> -(c) will not export, re-export, or transfer the Software Packages to any prohibited destination, entity,
>
> -or individual without the necessary export license(s) or authorizations(s) from the U.S. Government;
>
> -
>
> -(d) will not use or transfer the Software Packages for use in any sensitive nuclear, chemical or
>
> -biological weapons, or missile technology end-uses unless authorized by the U.S. Government by
>
> -regulation or specific license;
>
> -
>
> -(e) understands and agrees that if it is in the United States and exports or transfers the Software
>
> -Packages to eligible end users, it will, as required by EAR Section 740.17(e), submit semi-annual
>
> -reports to the Commerce Department's Bureau of Industry & Security (BIS), which include the name and
>
> -address (including country) of each transferee;
>
> -
>
> -and (f) understands that countries other than the United States may restrict the import, use, or
>
> -export of encryption products and that it shall be solely responsible for compliance with any such
>
> -import, use, or export restrictions.
>
> -
>
> -6. Third Party Programs. Red Hat may distribute third party software programs with the Software Packages
>
> -that are not part of the Software Packages and which Client must install separately. These third party
>
> -programs are subject to their own license terms. The license terms either accompany the programs or
>
> -can be viewed at http://www.redhat.com/licenses/. If Client does not agree to abide by the applicable
>
> -license terms for such programs, then Client may not install them. If Client wishes to install the programs
>
> -on more than one system or transfer the programs to another party, then Client must contact the licensor
>
> -of the programs.
>
> -
>
> -7. General. If any provision of this agreement is held to be unenforceable, that shall not affect the
>
> -enforceability of the remaining provisions. This License Agreement shall be governed by the laws of the
>
> -State of North Carolina and of the United States, without regard to any conflict of laws provisions,
>
> -except that the United Nations Convention on the International Sale of Goods shall not apply.
>
> -
>
> -Copyright 2006 Red Hat, Inc. All rights reserved.
>
> -"JBoss" and the JBoss logo are registered trademarks of Red Hat, Inc.
>
> -All other trademarks are the property of their respective owners.
>
> -
>
> - Page 1 of 1 18 October 2006
>
> -
>
> +LICENSE AGREEMENT
> +JBOSS(r)
> +
> +This License Agreement governs the use of the Software Packages and any updates to the Software
> +Packages, regardless of the delivery mechanism. Each Software Package is a collective work
> +under U.S. Copyright Law. Subject to the following terms, Red Hat, Inc. ("Red Hat") grants to
> +the user ("Client") a license to the applicable collective work(s) pursuant to the
> +GNU Lesser General Public License v. 2.1 except for the following Software Packages:
> +(a) JBoss Portal Forums and JBoss Transactions JTS, each of which is licensed pursuant to the
> +GNU General Public License v.2;
> +
> +(b) JBoss Rules, which is licensed pursuant to the Apache License v.2.0;
> +
> +(c) an optional download for JBoss Cache for the Berkeley DB for Java database, which is licensed under the
> +(open source) Sleepycat License (if Client does not wish to use the open source version of this database,
> +it may purchase a license from Sleepycat Software);
> +
> +and (d) the BPEL extension for JBoss jBPM, which is licensed under the Common Public License v.1,
> +and, pursuant to the OASIS BPEL4WS standard, requires parties wishing to redistribute to enter various
> +royalty-free patent licenses.
> +
> +Each of the foregoing licenses is available at http://www.opensource.org/licenses/index.php.
> +
> +1. The Software. "Software Packages" refer to the various software modules that are created and made available
> +for distribution by the JBoss.org open source community at http://www.jboss.org. Each of the Software Packages
> +may be comprised of hundreds of software components. The end user license agreement for each component is located in
> +the component's source code. With the exception of certain image files identified in Section 2 below,
> +the license terms for the components permit Client to copy, modify, and redistribute the component,
> +in both source code and binary code forms. This agreement does not limit Client's rights under,
> +or grant Client rights that supersede, the license terms of any particular component.
> +
> +2. Intellectual Property Rights. The Software Packages are owned by Red Hat and others and are protected under copyright
> +and other laws. Title to the Software Packages and any component, or to any copy, modification, or merged portion shall
> +remain with the aforementioned, subject to the applicable license. The "JBoss" trademark, "Red Hat" trademark, the
> +individual Software Package trademarks, and the "Shadowman" logo are registered trademarks of Red Hat and its affiliates
> +in the U.S. and other countries. This agreement permits Client to distribute unmodified copies of the Software Packages
> +using the Red Hat trademarks that Red Hat has inserted in the Software Packages on the condition that Client follows Red Hat's
> +trademark guidelines for those trademarks located at http://www.redhat.com/about/corporate/trademark/. Client must abide by
> +these trademark guidelines when distributing the Software Packages, regardless of whether the Software Packages have been modified.
> +If Client modifies the Software Packages, then Client must replace all Red Hat trademarks and logos identified at
> +http://www.jboss.com/company/logos, unless a separate agreement with Red Hat is executed or other permission granted.
> +Merely deleting the files containing the Red Hat trademarks may corrupt the Software Packages.
> +
> +3. Limited Warranty. Except as specifically stated in this Paragraph 3 or a license for a particular
> +component, to the maximum extent permitted under applicable law, the Software Packages and the
> +components are provided and licensed "as is" without warranty of any kind, expressed or implied,
> +including the implied warranties of merchantability, non-infringement or fitness for a particular purpose.
> +Red Hat warrants that the media on which Software Packages may be furnished will be free from defects in
> +materials and manufacture under normal use for a period of 30 days from the date of delivery to Client.
> +Red Hat does not warrant that the functions contained in the Software Packages will meet Client's requirements
> +or that the operation of the Software Packages will be entirely error free or appear precisely as described
> +in the accompanying documentation. This warranty extends only to the party that purchases the Services
> +pertaining to the Software Packages from Red Hat or a Red Hat authorized distributor.
> +
> +4. Limitation of Remedies and Liability. To the maximum extent permitted by applicable law, the remedies
> +described below are accepted by Client as its only remedies. Red Hat's entire liability, and Client's
> +exclusive remedies, shall be: If the Software media is defective, Client may return it within 30 days of
> +delivery along with a copy of Client's payment receipt and Red Hat, at its option, will replace it or
> +refund the money paid by Client for the Software. To the maximum extent permitted by applicable law,
> +Red Hat or any Red Hat authorized dealer will not be liable to Client for any incidental or consequential
> +damages, including lost profits or lost savings arising out of the use or inability to use the Software,
> +even if Red Hat or such dealer has been advised of the possibility of such damages. In no event shall
> +Red Hat's liability under this agreement exceed the amount that Client paid to Red Hat under this
> +Agreement during the twelve months preceding the action.
> +
> +5. Export Control. As required by U.S. law, Client represents and warrants that it:
> +(a) understands that the Software Packages are subject to export controls under the
> +U.S. Commerce Department's Export Administration Regulations ("EAR");
> +
> +(b) is not located in a prohibited destination country under the EAR or U.S. sanctions regulations
> +(currently Cuba, Iran, Iraq, Libya, North Korea, Sudan and Syria);
> +
> +(c) will not export, re-export, or transfer the Software Packages to any prohibited destination, entity,
> +or individual without the necessary export license(s) or authorizations(s) from the U.S. Government;
> +
> +(d) will not use or transfer the Software Packages for use in any sensitive nuclear, chemical or
> +biological weapons, or missile technology end-uses unless authorized by the U.S. Government by
> +regulation or specific license;
> +
> +(e) understands and agrees that if it is in the United States and exports or transfers the Software
> +Packages to eligible end users, it will, as required by EAR Section 740.17(e), submit semi-annual
> +reports to the Commerce Department's Bureau of Industry & Security (BIS), which include the name and
> +address (including country) of each transferee;
> +
> +and (f) understands that countries other than the United States may restrict the import, use, or
> +export of encryption products and that it shall be solely responsible for compliance with any such
> +import, use, or export restrictions.
> +
> +6. Third Party Programs. Red Hat may distribute third party software programs with the Software Packages
> +that are not part of the Software Packages and which Client must install separately. These third party
> +programs are subject to their own license terms. The license terms either accompany the programs or
> +can be viewed at http://www.redhat.com/licenses/. If Client does not agree to abide by the applicable
> +license terms for such programs, then Client may not install them. If Client wishes to install the programs
> +on more than one system or transfer the programs to another party, then Client must contact the licensor
> +of the programs.
> +
> +7. General. If any provision of this agreement is held to be unenforceable, that shall not affect the
> +enforceability of the remaining provisions. This License Agreement shall be governed by the laws of the
> +State of North Carolina and of the United States, without regard to any conflict of laws provisions,
> +except that the United Nations Convention on the International Sale of Goods shall not apply.
> +
> +Copyright 2006 Red Hat, Inc. All rights reserved.
> +"JBoss" and the JBoss logo are registered trademarks of Red Hat, Inc.
> +All other trademarks are the property of their respective owners.
> +
> + Page 1 of 1 18 October 2006
> +
> cvs diff: Diffing docs/PojoCache
> cvs diff: Diffing docs/PojoCache/en
> cvs diff: Diffing docs/PojoCache/en/images
> cvs diff: Diffing docs/PojoCache/en/modules
> cvs diff: Diffing docs/TreeCache
> cvs diff: Diffing docs/TreeCache/en
> cvs diff: Diffing docs/TreeCache/en/images
> cvs diff: Diffing docs/TreeCache/en/modules
> cvs diff: Diffing docs/design
> cvs diff: Diffing docs/faq
> cvs diff: Diffing docs/faq/en
> cvs diff: Diffing docs/faq/en/images
> cvs diff: Diffing docs/faq-pojo
> cvs diff: Diffing docs/faq-pojo/en
> cvs diff: Diffing docs/faq-pojo/en/images
> cvs diff: Diffing docs/images
> cvs diff: Diffing docs/index
> cvs diff: Diffing docs/index/en
> cvs diff: Diffing docs/index/en/images
> cvs diff: Diffing docs/tutorial
> cvs diff: Diffing docs/tutorial/en
> cvs diff: Diffing docs/tutorial/en/images
> cvs diff: Diffing docs/tutorial-pojo
> cvs diff: Diffing docs/tutorial-pojo/en
> cvs diff: Diffing docs/tutorial-pojo/en/images
> cvs diff: Diffing etc
> cvs diff: Diffing etc/META-INF
> cvs diff: Diffing examples
> cvs diff: Diffing examples/PojoCache
> cvs diff: Diffing examples/PojoCache/annotated50
> cvs diff: Diffing examples/PojoCache/annotated50/src
> cvs diff: Diffing examples/PojoCache/annotated50/src/examples
> cvs diff: Diffing examples/PojoCache/annotated50/src/test
> cvs diff: Diffing examples/PojoCache/annotated50/src/test/examples
> cvs diff: Diffing examples/PojoCache/loadtime
> cvs diff: Diffing examples/PojoCache/loadtime/src
> cvs diff: Diffing examples/PojoCache/loadtime/src/examples
> cvs diff: Diffing examples/PojoCache/loadtime/src/test
> cvs diff: Diffing examples/PojoCache/loadtime/src/test/examples
> cvs diff: Diffing examples/PojoCache/non-annotated
> cvs diff: Diffing examples/PojoCache/non-annotated/src
> cvs diff: Diffing examples/PojoCache/non-annotated/src/examples
> cvs diff: Diffing examples/PojoCache/non-annotated/src/test
> cvs diff: Diffing examples/PojoCache/non-annotated/src/test/examples
> cvs diff: Diffing examples/PojoCache/passivation
> cvs diff: Diffing examples/PojoCache/passivation/src
> cvs diff: Diffing examples/PojoCache/passivation/src/examples
> cvs diff: Diffing examples/PojoCache/passivation/src/test
> cvs diff: Diffing examples/PojoCache/passivation/src/test/examples
> cvs diff: Diffing examples/PojoCache/sensor
> cvs diff: Diffing examples/PojoCache/sensor/article
> cvs diff: Diffing examples/PojoCache/sensor/article/image
> cvs diff: Diffing examples/PojoCache/sensor/src
> cvs diff: Diffing examples/PojoCache/sensor/src/propagation
> cvs diff: Diffing examples/PojoCache/sensor/src/propagation/impl
> cvs diff: Diffing examples/PojoCache/sensor/src/test
> cvs diff: Diffing examples/PojoCache/sensor/src/test/propagation
> cvs diff: Diffing examples/PojoCache/sensor/src/test/propagation/impl
> cvs diff: Diffing lib
> cvs diff: Diffing lib/berkeleydb
> cvs diff: Diffing lib/licenses
> cvs diff: Diffing lib/retro
> cvs diff: Diffing old
> cvs diff: Diffing old/src
> cvs diff: Diffing old/src/org
> cvs diff: Diffing old/src/org/jboss
> cvs diff: Diffing old/src/org/jboss/cache
> cvs diff: Diffing old/src/org/jboss/cache/aop
> cvs diff: Diffing old/src/org/jboss/cache/aop/annotation
> cvs diff: Diffing old/src/org/jboss/cache/aop/collection
> cvs diff: Diffing old/src/org/jboss/cache/aop/eviction
> cvs diff: Diffing old/src/org/jboss/cache/aop/interceptors
> cvs diff: Diffing old/src/org/jboss/cache/aop/references
> cvs diff: Diffing old/src/org/jboss/cache/aop/statetransfer
> cvs diff: Diffing old/src/org/jboss/cache/aop/util
> cvs diff: Diffing old/src-50
> cvs diff: Diffing old/src-50/org
> cvs diff: Diffing old/src-50/org/jboss
> cvs diff: Diffing old/src-50/org/jboss/cache
> cvs diff: Diffing old/src-50/org/jboss/cache/aop
> cvs diff: Diffing old/src-50/org/jboss/cache/aop/annotation
> cvs diff: Diffing old/tests
> cvs diff: Diffing old/tests/functional
> cvs diff: Diffing old/tests/functional/org
> cvs diff: Diffing old/tests/functional/org/jboss
> cvs diff: Diffing old/tests/functional/org/jboss/cache
> cvs diff: Diffing old/tests/functional/org/jboss/cache/aop
> cvs diff: Diffing old/tests/functional/org/jboss/cache/aop/collection
> cvs diff: Diffing old/tests/functional/org/jboss/cache/aop/eviction
> cvs diff: Diffing old/tests/functional/org/jboss/cache/aop/integrated
> cvs diff: Diffing old/tests/functional/org/jboss/cache/aop/loader
> cvs diff: Diffing old/tests/functional/org/jboss/cache/aop/memory
> cvs diff: Diffing old/tests/functional/org/jboss/cache/aop/statetransfer
> cvs diff: Diffing old/tests/functional/org/jboss/cache/aop/test
> cvs diff: Diffing old/tests/functional/org/jboss/cache/aop/test/propagation
> cvs diff: Diffing old/tests/functional/org/jboss/cache/aop/test/propagation/impl
> cvs diff: Diffing old/tests/functional/org/jboss/cache/aop/util
> cvs diff: Diffing old/tests/perf
> cvs diff: Diffing old/tests/perf/org
> cvs diff: Diffing old/tests/perf/org/jboss
> cvs diff: Diffing old/tests/perf/org/jboss/cache
> cvs diff: Diffing old/tests/perf/org/jboss/cache/aop
> cvs diff: Diffing old/tests-50
> cvs diff: Diffing old/tests-50/org
> cvs diff: Diffing old/tests-50/org/jboss
> cvs diff: Diffing old/tests-50/org/jboss/cache
> cvs diff: Diffing old/tests-50/org/jboss/cache/aop
> cvs diff: Diffing old/tests-50/org/jboss/cache/aop/test
> cvs diff: Diffing old/tests-50/org/jboss/cache/aop/test/propagation
> cvs diff: Diffing old/tests-50/org/jboss/cache/aop/test/propagation/impl
> cvs diff: Diffing src
> cvs diff: Diffing src/org
> cvs diff: Diffing src/org/jboss
> cvs diff: Diffing src/org/jboss/cache
> cvs diff: Diffing src/org/jboss/cache/buddyreplication
> cvs diff: Diffing src/org/jboss/cache/config
> cvs diff: Diffing src/org/jboss/cache/eviction
> cvs diff: Diffing src/org/jboss/cache/factories
> cvs diff: Diffing src/org/jboss/cache/interceptors
> cvs diff: Diffing src/org/jboss/cache/jmx
> cvs diff: Diffing src/org/jboss/cache/loader
> Index: src/org/jboss/cache/loader/AbstractCacheLoader.java
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/loader/AbstractCacheLoader.java,v
> retrieving revision 1.12
> diff -u -r1.12 AbstractCacheLoader.java
> --- src/org/jboss/cache/loader/AbstractCacheLoader.java 20 Nov 2006 07:33:14 -0000 1.12
> +++ src/org/jboss/cache/loader/AbstractCacheLoader.java 1 Dec 2006 16:16:12 -0000
> @@ -11,6 +11,7 @@
> import org.jboss.cache.Fqn;
> import org.jboss.cache.Modification;
> import org.jboss.cache.RegionManager;
> +import org.jboss.cache.marshall.VersionAwareMarshaller;
> import org.jboss.cache.buddyreplication.BuddyManager;
> import org.jboss.cache.util.MapCopy;
>
> @@ -241,4 +242,8 @@
> }
> }
>
> + protected VersionAwareMarshaller getMarshaller()
> + {
> + return cache.getMarshaller();
> + }
> }
> Index: src/org/jboss/cache/loader/JDBCCacheLoader.java
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/loader/JDBCCacheLoader.java,v
> retrieving revision 1.25
> diff -u -r1.25 JDBCCacheLoader.java
> --- src/org/jboss/cache/loader/JDBCCacheLoader.java 20 Dec 2006 02:16:24 -0000 1.25
> +++ src/org/jboss/cache/loader/JDBCCacheLoader.java 25 Dec 2006 17:28:50 -0000
> @@ -677,14 +677,15 @@
> if (node != null)
> {
> // Object marshalledNode = new MarshalledValue(node);
> - ByteArrayOutputStream baos = new ByteArrayOutputStream();
> - ObjectOutputStream oos = new ObjectOutputStream(baos);
> +// ByteArrayOutputStream baos = new ByteArrayOutputStream();
> +// ObjectOutputStream oos = new ObjectOutputStream(baos);
> // oos.writeObject(marshalledNode);
> //
> - oos.writeObject(node);
> +// oos.writeObject(node);
>
> - ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
> - ps.setBinaryStream(2, bais, baos.size());
> + byte[] byteStream = getMarshaller().objectToByteBuffer(node);
> + ByteArrayInputStream bais = new ByteArrayInputStream(byteStream);
> + ps.setBinaryStream(2, bais, byteStream.length);
> }
> else
> {
> @@ -762,13 +763,14 @@
> // else
> // {
> // Object marshalledNode = new MarshalledValue(node);
> - ByteArrayOutputStream baos = new ByteArrayOutputStream();
> - ObjectOutputStream oos = new ObjectOutputStream(baos);
> +// ByteArrayOutputStream baos = new ByteArrayOutputStream();
> +// ObjectOutputStream oos = new ObjectOutputStream(baos);
> // oos.writeObject(marshalledNode);
> - oos.writeObject(node);
> +// oos.writeObject(node);
>
> - ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
> - ps.setBinaryStream(1, bais, baos.size());
> + byte[] byteStream = getMarshaller().objectToByteBuffer(node);
> + ByteArrayInputStream bais = new ByteArrayInputStream(byteStream);
> + ps.setBinaryStream(1, bais, byteStream.length);
> // }
>
> ps.setString(2, name.toString());
> @@ -825,12 +827,14 @@
> InputStream is = rs.getBinaryStream(1);
> if (is != null && !rs.wasNull())
> {
> - ObjectInputStream ois = null;
> +// ObjectInputStream ois = null;
> try
> {
> // deserialize result
> - ois = new ObjectInputStream(is);
> - Object marshalledNode = ois.readObject();
> +// ois = new ObjectInputStream(is);
> +// Object marshalledNode = ois.readObject();
> +
> + Object marshalledNode = getMarshaller().objectFromInputStream(is);
>
> // de-marshall value if possible
> // if (marshalledNode instanceof MarshalledValue)
> @@ -851,9 +855,13 @@
> {
> throw new SQLException("Unable to load to deserialize result: " + e);
> }
> + catch (Exception e)
> + {
> + throw new SQLException("Unable to load to deserialize result: " + e);
> + }
> finally
> {
> - safeClose(ois);
> + safeClose(is);
> }
> }
> }
> cvs diff: Diffing src/org/jboss/cache/loader/bdbje
> cvs diff: Diffing src/org/jboss/cache/loader/jdbm
> cvs diff: Diffing src/org/jboss/cache/loader/rmi
> cvs diff: Diffing src/org/jboss/cache/loader/tcp
> cvs diff: Diffing src/org/jboss/cache/lock
> Index: src/org/jboss/cache/lock/NullLock.java
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/lock/NullLock.java,v
> retrieving revision 1.1
> diff -u -r1.1 NullLock.java
> --- src/org/jboss/cache/lock/NullLock.java 8 Dec 2006 18:50:49 -0000 1.1
> +++ src/org/jboss/cache/lock/NullLock.java 8 Dec 2006 18:50:49 -0000
> @@ -1,67 +1,67 @@
> -package org.jboss.cache.lock;
>
> -
>
> -import java.util.Date;
>
> -import java.util.concurrent.TimeUnit;
>
> -import java.util.concurrent.locks.Condition;
>
> -import java.util.concurrent.locks.Lock;
>
> -
>
> -class NullLock implements Lock, Condition {
>
> -
>
> - public void lock()
>
> - {
>
> - }
>
> -
>
> - public void lockInterruptibly() throws InterruptedException
>
> - {
>
> - }
>
> -
>
> - public Condition newCondition()
>
> - {
>
> - return this;
>
> - }
>
> -
>
> - public boolean tryLock()
>
> - {
>
> - return true;
>
> - }
>
> -
>
> - public boolean tryLock(long arg0, TimeUnit arg1) throws InterruptedException
>
> - {
>
> - return true;
>
> - }
>
> -
>
> - public void unlock()
>
> - {
>
> - }
>
> -
>
> - public void await() throws InterruptedException
>
> - {
>
> - }
>
> -
>
> - public boolean await(long arg0, TimeUnit arg1) throws InterruptedException
>
> - {
>
> - return true;
>
> - }
>
> -
>
> - public long awaitNanos(long arg0) throws InterruptedException
>
> - {
>
> - return arg0;
>
> - }
>
> -
>
> - public void awaitUninterruptibly()
>
> - {
>
> - }
>
> -
>
> - public boolean awaitUntil(Date arg0) throws InterruptedException
>
> - {
>
> - return true;
>
> - }
>
> -
>
> - public void signal()
>
> - {
>
> - }
>
> -
>
> - public void signalAll()
>
> - {
>
> - }
>
> -}
>
> +package org.jboss.cache.lock;
> +
> +import java.util.Date;
> +import java.util.concurrent.TimeUnit;
> +import java.util.concurrent.locks.Condition;
> +import java.util.concurrent.locks.Lock;
> +
> +class NullLock implements Lock, Condition {
> +
> + public void lock()
> + {
> + }
> +
> + public void lockInterruptibly() throws InterruptedException
> + {
> + }
> +
> + public Condition newCondition()
> + {
> + return this;
> + }
> +
> + public boolean tryLock()
> + {
> + return true;
> + }
> +
> + public boolean tryLock(long arg0, TimeUnit arg1) throws InterruptedException
> + {
> + return true;
> + }
> +
> + public void unlock()
> + {
> + }
> +
> + public void await() throws InterruptedException
> + {
> + }
> +
> + public boolean await(long arg0, TimeUnit arg1) throws InterruptedException
> + {
> + return true;
> + }
> +
> + public long awaitNanos(long arg0) throws InterruptedException
> + {
> + return arg0;
> + }
> +
> + public void awaitUninterruptibly()
> + {
> + }
> +
> + public boolean awaitUntil(Date arg0) throws InterruptedException
> + {
> + return true;
> + }
> +
> + public void signal()
> + {
> + }
> +
> + public void signalAll()
> + {
> + }
> +}
> cvs diff: Diffing src/org/jboss/cache/marshall
> Index: src/org/jboss/cache/marshall/JBossObjectStreamFactory.java
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/marshall/JBossObjectStreamFactory.java,v
> retrieving revision 1.2
> diff -u -r1.2 JBossObjectStreamFactory.java
> --- src/org/jboss/cache/marshall/JBossObjectStreamFactory.java 2 Nov 2006 09:42:09 -0000 1.2
> +++ src/org/jboss/cache/marshall/JBossObjectStreamFactory.java 1 Dec 2006 17:32:52 -0000
> @@ -47,6 +47,11 @@
> return new JBossObjectInputStreamOverride(in);
> }
>
> + public ObjectInputStream createObjectInputStream(InputStream in) throws IOException
> + {
> + return new JBossObjectInputStreamOverride(in);
> + }
> +
> public ObjectOutputStream createObjectOutputStream(OutputStream out) throws IOException
> {
> return new JBossObjectOutputStreamSharedTree(out);
> Index: src/org/jboss/cache/marshall/JavaObjectStreamFactory.java
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/marshall/JavaObjectStreamFactory.java,v
> retrieving revision 1.2
> diff -u -r1.2 JavaObjectStreamFactory.java
> --- src/org/jboss/cache/marshall/JavaObjectStreamFactory.java 2 Nov 2006 09:42:09 -0000 1.2
> +++ src/org/jboss/cache/marshall/JavaObjectStreamFactory.java 1 Dec 2006 17:31:57 -0000
> @@ -7,6 +7,7 @@
> import java.io.ObjectInputStream;
> import java.io.ObjectOutputStream;
> import java.io.OutputStream;
> +import java.io.InputStream;
>
> /**
> * @author Clebert Suconic
> @@ -21,6 +22,11 @@
> return new MarshalledValueInputStream(in);
> }
>
> + public ObjectInputStream createObjectInputStream(InputStream in) throws IOException
> + {
> + return new MarshalledValueInputStream(in);
> + }
> +
> public ObjectOutputStream createObjectOutputStream(OutputStream out) throws IOException
> {
> return new ObjectOutputStream(out);
> Index: src/org/jboss/cache/marshall/ObjectSerializationFactory.java
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/marshall/ObjectSerializationFactory.java,v
> retrieving revision 1.18
> diff -u -r1.18 ObjectSerializationFactory.java
> --- src/org/jboss/cache/marshall/ObjectSerializationFactory.java 2 Nov 2006 09:42:09 -0000 1.18
> +++ src/org/jboss/cache/marshall/ObjectSerializationFactory.java 1 Dec 2006 17:33:34 -0000
> @@ -13,6 +13,7 @@
> import java.io.ObjectInputStream;
> import java.io.ObjectOutputStream;
> import java.io.OutputStream;
> +import java.io.InputStream;
>
> /**
> * Factory class for creating object output and inut streams, switching between JDK defaults and JBoss Serialization classes.
> @@ -56,6 +57,11 @@
> return factory.createObjectInputStream(bytes);
> }
>
> + public static ObjectInputStream createObjectInputStream(InputStream in) throws IOException
> + {
> + return factory.createObjectInputStream(in);
> + }
> +
> public static boolean useJBossSerialization()
> {
> return useJBossSerialization;
> Index: src/org/jboss/cache/marshall/ObjectStreamFactory.java
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/marshall/ObjectStreamFactory.java,v
> retrieving revision 1.2
> diff -u -r1.2 ObjectStreamFactory.java
> --- src/org/jboss/cache/marshall/ObjectStreamFactory.java 2 Nov 2006 09:42:09 -0000 1.2
> +++ src/org/jboss/cache/marshall/ObjectStreamFactory.java 1 Dec 2006 17:31:24 -0000
> @@ -4,6 +4,7 @@
> import java.io.ObjectInputStream;
> import java.io.ObjectOutputStream;
> import java.io.OutputStream;
> +import java.io.InputStream;
>
> /**
> * @author Clebert Suconic
> @@ -14,4 +15,6 @@
> public ObjectOutputStream createObjectOutputStream(OutputStream out) throws IOException;
>
> public ObjectInputStream createObjectInputStream(byte[] bytes) throws IOException;
> +
> + public ObjectInputStream createObjectInputStream(InputStream in) throws IOException;
> }
> Index: src/org/jboss/cache/marshall/TreeCacheMarshaller200.java
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/marshall/TreeCacheMarshaller200.java,v
> retrieving revision 1.10
> diff -u -r1.10 TreeCacheMarshaller200.java
> --- src/org/jboss/cache/marshall/TreeCacheMarshaller200.java 16 Nov 2006 17:11:46 -0000 1.10
> +++ src/org/jboss/cache/marshall/TreeCacheMarshaller200.java 25 Dec 2006 11:56:20 -0000
> @@ -492,7 +492,7 @@
> private Map unmarshallMap(ObjectInputStream in, Map refMap) throws Exception
> {
> int mapSize = in.readInt();
> - if (mapSize == 0) return Collections.emptyMap();
> + // if (mapSize == 0) return Collections.emptyMap();
> Map map = new HashMap(mapSize);
> for (int i = 0; i < mapSize; i++)
> {
> Index: src/org/jboss/cache/marshall/VersionAwareMarshaller.java
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/marshall/VersionAwareMarshaller.java,v
> retrieving revision 1.11
> diff -u -r1.11 VersionAwareMarshaller.java
> --- src/org/jboss/cache/marshall/VersionAwareMarshaller.java 27 Nov 2006 17:07:06 -0000 1.11
> +++ src/org/jboss/cache/marshall/VersionAwareMarshaller.java 1 Dec 2006 17:35:19 -0000
> @@ -14,6 +14,7 @@
> import java.io.ByteArrayOutputStream;
> import java.io.ObjectInputStream;
> import java.io.ObjectOutputStream;
> +import java.io.InputStream;
> import java.util.HashMap;
> import java.util.Map;
> import java.util.StringTokenizer;
> @@ -162,6 +163,29 @@
> return marshaller.objectFromStream(in);
> }
>
> + public Object objectFromInputStream(InputStream is) throws Exception
> + {
> + Marshaller marshaller;
> + int versionId;
> + ObjectInputStream in;
> + try
> + {
> + // just a peek - does not actually "remove" these bytes from the stream.
> + // create an input stream and read the first short
> + in = ObjectSerializationFactory.createObjectInputStream(is);
> + versionId = in.readShort();
> + }
> + catch (Exception e)
> + {
> + log.error("Unable to read version id from first two bytes of stream, barfing.");
> + throw e;
> + }
> +
> + marshaller = getMarshaller(versionId);
> +
> + return marshaller.objectFromStream(in);
> + }
> +
> /**
> * Lazily instantiates and loads the relevant marshaller for a given version.
> *
> cvs diff: Diffing src/org/jboss/cache/notifications
> cvs diff: Diffing src/org/jboss/cache/optimistic
> cvs diff: Diffing src/org/jboss/cache/rpc
> cvs diff: Diffing src/org/jboss/cache/statetransfer
> cvs diff: Diffing src/org/jboss/cache/transaction
> cvs diff: Diffing src/org/jboss/cache/util
> cvs diff: Diffing src/org/jboss/cache/xml
> cvs diff: Diffing src-50
> cvs diff: Diffing src-50/org
> cvs diff: Diffing src-50/org/jboss
> cvs diff: Diffing src-50/org/jboss/cache
> cvs diff: Diffing src-50/org/jboss/cache/pojo
> cvs diff: Diffing src-50/org/jboss/cache/pojo/annotation
> cvs diff: Diffing src-50/org/jboss/cache/pojo/collection
> Index: src-50/org/jboss/cache/pojo/collection/IntegerCache.java
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/src-50/org/jboss/cache/pojo/collection/IntegerCache.java,v
> retrieving revision 1.1
> diff -u -r1.1 IntegerCache.java
> --- src-50/org/jboss/cache/pojo/collection/IntegerCache.java 6 Nov 2006 23:32:16 -0000 1.1
> +++ src-50/org/jboss/cache/pojo/collection/IntegerCache.java 6 Nov 2006 23:32:16 -0000
> @@ -1,24 +1,24 @@
> -package org.jboss.cache.pojo.collection;
>
> -
>
> -/**
>
> - * Cache of integers in String format from 0-99.
>
> - */
>
> -public class IntegerCache
>
> -{
>
> -
>
> - private IntegerCache() {}
>
> - private static final String values[] = new String[100];
>
> - static
>
> - {
>
> - for (int i = 0; i < values.length; i++)
>
> - values[i] = Integer.toString(i).intern();
>
> - }
>
> -
>
> - public static String toString(int i)
>
> - {
>
> - if (i >= 0 && i < values.length)
>
> - return values[i];
>
> - return Integer.toString(i);
>
> - }
>
> -
>
> -}
>
> +package org.jboss.cache.pojo.collection;
> +
> +/**
> + * Cache of integers in String format from 0-99.
> + */
> +public class IntegerCache
> +{
> +
> + private IntegerCache() {}
> + private static final String values[] = new String[100];
> + static
> + {
> + for (int i = 0; i < values.length; i++)
> + values[i] = Integer.toString(i).intern();
> + }
> +
> + public static String toString(int i)
> + {
> + if (i >= 0 && i < values.length)
> + return values[i];
> + return Integer.toString(i);
> + }
> +
> +}
> cvs diff: Diffing src-50/org/jboss/cache/pojo/eviction
> cvs diff: Diffing src-50/org/jboss/cache/pojo/factory
> cvs diff: Diffing src-50/org/jboss/cache/pojo/impl
> cvs diff: Diffing src-50/org/jboss/cache/pojo/interceptors
> cvs diff: Diffing src-50/org/jboss/cache/pojo/interceptors/dynamic
> cvs diff: Diffing src-50/org/jboss/cache/pojo/jmx
> cvs diff: Diffing src-50/org/jboss/cache/pojo/memory
> cvs diff: Diffing src-50/org/jboss/cache/pojo/observable
> cvs diff: Diffing src-50/org/jboss/cache/pojo/util
> cvs diff: Diffing src-50/resources
> cvs diff: Diffing tests
> cvs diff: Diffing tests/functional
> cvs diff: Diffing tests/functional/org
> cvs diff: Diffing tests/functional/org/jboss
> cvs diff: Diffing tests/functional/org/jboss/cache
> cvs diff: Diffing tests/functional/org/jboss/cache/api
> cvs diff: Diffing tests/functional/org/jboss/cache/buddyreplication
> cvs diff: Diffing tests/functional/org/jboss/cache/config
> cvs diff: Diffing tests/functional/org/jboss/cache/data
> cvs diff: Diffing tests/functional/org/jboss/cache/eviction
> cvs diff: Diffing tests/functional/org/jboss/cache/factories
> cvs diff: Diffing tests/functional/org/jboss/cache/interceptors
> cvs diff: Diffing tests/functional/org/jboss/cache/invalidation
> cvs diff: Diffing tests/functional/org/jboss/cache/invocationcontext
> cvs diff: Diffing tests/functional/org/jboss/cache/jmx
> cvs diff: Diffing tests/functional/org/jboss/cache/loader
> cvs diff: Diffing tests/functional/org/jboss/cache/loader/deadlock
> cvs diff: Diffing tests/functional/org/jboss/cache/lock
> cvs diff: Diffing tests/functional/org/jboss/cache/marshall
> cvs diff: Diffing tests/functional/org/jboss/cache/marshall/data
> cvs diff: Diffing tests/functional/org/jboss/cache/mgmt
> cvs diff: Diffing tests/functional/org/jboss/cache/misc
> cvs diff: Diffing tests/functional/org/jboss/cache/notifications
> cvs diff: Diffing tests/functional/org/jboss/cache/optimistic
> cvs diff: Diffing tests/functional/org/jboss/cache/options
> cvs diff: Diffing tests/functional/org/jboss/cache/options/cachemodelocal
> cvs diff: Diffing tests/functional/org/jboss/cache/passivation
> cvs diff: Diffing tests/functional/org/jboss/cache/replicated
> cvs diff: Diffing tests/functional/org/jboss/cache/statetransfer
> cvs diff: Diffing tests/functional/org/jboss/cache/transaction
> cvs diff: Diffing tests/functional/org/jboss/cache/util
> cvs diff: Diffing tests/interop
> cvs diff: Diffing tests/perf
> cvs diff: Diffing tests/perf/org
> cvs diff: Diffing tests/perf/org/jboss
> cvs diff: Diffing tests/perf/org/jboss/cache
> cvs diff: Diffing tests/perf/org/jboss/cache/loader
> Index: tests/perf/org/jboss/cache/loader/JDBCCacheLoaderPerfTest.java
> ===================================================================
> RCS file: /cvsroot/jboss/JBossCache/tests/perf/org/jboss/cache/loader/JDBCCacheLoaderPerfTest.java,v
> retrieving revision 1.9
> diff -u -r1.9 JDBCCacheLoaderPerfTest.java
> --- tests/perf/org/jboss/cache/loader/JDBCCacheLoaderPerfTest.java 14 Dec 2006 18:52:40 -0000 1.9
> +++ tests/perf/org/jboss/cache/loader/JDBCCacheLoaderPerfTest.java 27 Dec 2006 22:32:00 -0000
> @@ -29,7 +29,7 @@
> private Random random = new Random();
>
> // Tune as necessary
> - private static final int NUM_TIMES_PER_THREAD = 1;
> + private static final int NUM_TIMES_PER_THREAD = 2;
> private static final int NUM_THREADS = 1;
> private static final String threadNamePrefix = "TesterThread-";
>
> @@ -109,6 +109,7 @@
> catch (Exception e)
> {
> e.printStackTrace();
> + fail();
> }
> }
> };
> @@ -148,6 +149,7 @@
> catch (Exception e)
> {
> e.printStackTrace();
> + fail();
> }
> }
> };
> @@ -189,6 +191,7 @@
> catch (Exception e)
> {
> e.printStackTrace();
> + fail();
> }
> }
> };
> cvs diff: Diffing tests/perf/org/jboss/cache/manualtests
> cvs diff: Diffing tests/scripts
> cvs diff: Diffing tests/scripts/TcpCacheServer
> cvs diff: Diffing tests/stress
> cvs diff: Diffing tests/stress/org
> cvs diff: Diffing tests/stress/org/jboss
> cvs diff: Diffing tests/stress/org/jboss/cache
> cvs diff: Diffing tests/stress/org/jboss/cache/optimistic
> cvs diff: Diffing tests-50
> cvs diff: Diffing tests-50/functional
> cvs diff: Diffing tests-50/functional/org
> cvs diff: Diffing tests-50/functional/org/jboss
> cvs diff: Diffing tests-50/functional/org/jboss/cache
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/annotation
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/collection
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/event
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/integrated
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/jmx
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/memory
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/observer
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/passivation
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/region
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/rollback
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/statetransfer
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/test
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/test/propagation
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/test/propagation/impl
> cvs diff: Diffing tests-50/functional/org/jboss/cache/pojo/util
> cvs diff: Diffing tests-50/perf
> cvs diff: Diffing tests-50/perf/org
> cvs diff: Diffing tests-50/perf/org/jboss
> cvs diff: Diffing tests-50/perf/org/jboss/cache
> cvs diff: Diffing tests-50/perf/org/jboss/cache/pojo
> cvs diff: Diffing tests-50/perf/org/jboss/cache/pojo/collection
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> jbosscache-dev mailing list
> jbosscache-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosscache-dev
>
--
Bela Ban
Lead JGroups / JBoss Clustering team
JBoss - a division of Red Hat
More information about the jbosscache-dev
mailing list