Well I'm really wondering what's wrong in my webapp...The 2500 child nodes
creation finished OK. Thanks again for your testing tool, it really points out
that the problem resides in my webapp...but where ;-)
Basically, now, I use the same code in your (modified) tool and my webapp,
except I enter through a Spring MVC framework and I'm using Spring Jackrabbit
module.
I'm going to investigate this.
*** Initializing repository ***
Initializing repository
[{http://www.legisway.com}addressType]
[{http://www.legisway.com}contactType]
[{http://www.legisway.com}contactsType]
[{http://www.legisway.com}contractorType]
[{http://www.legisway.com}contractorsType]
[{http://www.legisway.com}contractType]
[{http://www.legisway.com}contractsType]
[{http://www.legisway.com}rootType]
*** Adding Node lgw:contracts under the Root Node ***
*** Adding Node lgw:contacts under the Root Node ***
*** Adding Node lgw:contractors under the Root Node ***
Found nodes : 0
[OneByOne] Creating 2500 contacts
end of creation
SELECT COUNT(*) FROM default_binval: 0
SELECT COUNT(*) FROM default_node: 5006
SELECT COUNT(*) FROM default_prop: 32507
SELECT COUNT(*) FROM default_refs: 0
SELECT COUNT(*) FROM version_binval: 0
SELECT COUNT(*) FROM version_node: 1
SELECT COUNT(*) FROM version_prop: 1
SELECT COUNT(*) FROM version_refs: 0
*** Initializing repository ***
Initializing repository
[{http://www.legisway.com}addressType]
[{http://www.legisway.com}contactType]
[{http://www.legisway.com}contactsType]
[{http://www.legisway.com}contractorType]
[{http://www.legisway.com}contractorsType]
[{http://www.legisway.com}contractType]
[{http://www.legisway.com}contractsType]
[{http://www.legisway.com}rootType]
*** Adding Node lgw:contracts under the Root Node ***
*** Adding Node lgw:contacts under the Root Node ***
*** Adding Node lgw:contractors under the Root Node ***
Found nodes : 0
[Batch] Creating 2500 contacts
end of creation
SELECT COUNT(*) FROM default_binval: 0
SELECT COUNT(*) FROM default_node: 5006
SELECT COUNT(*) FROM default_prop: 32507
SELECT COUNT(*) FROM default_refs: 0
SELECT COUNT(*) FROM version_binval: 0
SELECT COUNT(*) FROM version_node: 1
SELECT COUNT(*) FROM version_prop: 1
SELECT COUNT(*) FROM version_refs: 0
Frédéric Esnault
-----Message d'origine-----
De : Thomas Mueller [mailto:[EMAIL PROTECTED]
Envoyé : jeudi 21 juin 2007 15:56
À : [email protected]
Objet : Re: atomic vs group node creation/storage
Hi,
How does this table look like?
show columns from default_node;
Field Type
NODE_ID char(36)
NODE_DATA mediumblob
Maybe this is different in your environment.
Thomas
On 6/21/07, Frédéric Esnault <[EMAIL PROTECTED]> wrote:
> Now I have a strange problem with the test tool. I tried to launch creation
> on 2500 nodes, and got this :
> Exception in thread "main" javax.jcr.RepositoryException: /: unable to update
> it
> em.: failed to write node state: 409d58ab-bd92-410c-8096-1fca52b8ef63: failed
> to
> write node state: 409d58ab-bd92-410c-8096-1fca52b8ef63
> at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1212)
> at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:823)
> at TestSingleGroup.testOneByOne(TestSingleGroup.java:109)
>
> Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long
> fo
> r column 'NODE_DATA' at row 1
>
>
> Frédéric Esnault
>
> -----Message d'origine-----
> De: Thomas Mueller [mailto:[EMAIL PROTECTED]
> Envoyé: jeudi 21 juin 2007 11:25
> À: [email protected]
> Objet: Re: atomic vs group node creation/storage
>
> Hi,
>
> > The number of rows was increasing also very fast.
> > When my default_node table reached 22 GB, it was holding 35 million rows.
>
> Is the problem now, that it is reproducible on your machine, but not
> on my machine? Could you run my test case on your machine? It is
> simpler and doesn't use node types. If you can't reproduce the problem
> with my test on your machine, but can reproduce it with your test
> case, could you send your complete test code (there are still some
> pieces missing, for example initializeContractor)?
>
> > The problem here is that if you use predicate on the node with plenty of
> > instances (say a contract), the search works fine,
>
> OK
>
> > the problem is if the search has to look at all the instances of this type
> > of node.
>
> I'm not sure if I understand the problem... You would search all nodes
> of the same type without any condition ("SELECT * FROM x:y")? Why
> would you do a search like this, and how would using same name
> siblings solve the problem?
>
> > We actually plan a 100K nodes repository, with an extreme limit to 250K,
> > which could possibly mean something like a maximum of 25K to 30K child
> > nodes,
>
> Somebody else already said, many child nodes is only a problem for
> writing. And for manually browsing the repository, if you want to do
> that.
>
> Thomas
>
> Attachment: testSingleGroup.zip (I hope this works)
>