<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: performance problems when too many files in one directory in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216542#M169672</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a very similar performance problem when user/s tries to open a space through WEB interface with more than 1000 documents in it (it takes like 30 seconds after Alfresco Explorer displays sometime less then 1000 items).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The documents are created via WebScripts in the repository everyone with own ACL (that is a permission associated to a detailed user). &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If instead I search documents from the search interface through Lucene metadata (example: for contained text or for property document name ), the search is faster.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ALFRESCO: Alfresco 3.0 Community/ Alfresco 3.0 Enterprise&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DB: Oracle 10 DB &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AS: JBoss 4.2.1 GA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;JAVA: jdk 1.5_22&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;OS: Red Hat Enterprise Linux 5.3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;RAM: 2 GB&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does somebody have some any ideas ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thank you.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 05 May 2010 08:16:42 GMT</pubDate>
    <dc:creator>antoninoferraro</dc:creator>
    <dc:date>2010-05-05T08:16:42Z</dc:date>
    <item>
      <title>performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216539#M169669</link>
      <description>Hello,I have a real performance problem when user/s tries to open directory (either through CIFS or through WEB interface) with more than 1000 files in it (it takes like 20 seconds). I have MySQL DB and Alfresco 3.2.I did some monitoring tests and tomcat and JVM seems to be running OK. So i think th</description>
      <pubDate>Thu, 29 Apr 2010 12:29:27 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216539#M169669</guid>
      <dc:creator>lagreen</dc:creator>
      <dc:date>2010-04-29T12:29:27Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216540#M169670</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;One suggestion: check your database connection pool configuration settings.&amp;nbsp; Here's a reference: &lt;/SPAN&gt;&lt;A href="http://wiki.alfresco.com/wiki/ASR_Performance_Optimization#Increase_Database_Connection_Pool" rel="nofollow noopener noreferrer"&gt;http://wiki.alfresco.com/wiki/ASR_Performance_Optimization#Increase_Database_Connection_Pool&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;This reference is applicable for both DM and ASR installations.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Brian&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 01 May 2010 01:21:49 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216540#M169670</guid>
      <dc:creator>brian_robinson</dc:creator>
      <dc:date>2010-05-01T01:21:49Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216541#M169671</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i have a similar problem: &lt;/SPAN&gt;&lt;STRONG&gt;a space (named as root) contains 40000 spaces &lt;/STRONG&gt;&lt;SPAN&gt;(created by a java main external to the Alfresco application).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Let me explain. I have two enviroments (named as A , B).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Env. A:&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;- ALFRESCO: Community Current version 3.2.0 (r2 2440) schema 3300&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- OS: Windows xp 32 bit , RAM 2,5G , Intel Core Duo 2,1 GHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- AS: Tomcat 6.0.18&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- JAVA: Jdk 6.0_11. Heap 986,125MB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- DB :Mysql 5.1.35 Community&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Env.B:&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;- ALFRESCO: Community Current version 3.2.0 (r2 2440) schema 3300&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- OS: Linux Oracle&amp;nbsp; 64 bit (RedHat 5.4), RAM 6G&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- AS: JBOSS 4.2.2 GA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- JAVA: Jdk 6.0_18.&amp;nbsp; Heap 4GB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- DB: Oracle 11g&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Problems:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;UL&gt;Env. A&amp;nbsp; : when i try to display the folder root i wait for 5/6 minutes and after Alfresco Explorer displays sometime 3500 items , 3800 itmes but never 40000 (note that 3800 has one 0 minus that 40000).&lt;BR /&gt;Env. B&amp;nbsp; : see &lt;A href="http://forums.alfresco.com/en/viewtopic.php?f=14&amp;amp;t=26355" rel="nofollow noopener noreferrer"&gt;http://forums.alfresco.com/en/viewtopic.php?f=14&amp;amp;t=26355&lt;/A&gt;&lt;/UL&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't know what happen, always strange behaviour.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Bye&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 01 May 2010 11:00:47 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216541#M169671</guid>
      <dc:creator>fracat71</dc:creator>
      <dc:date>2010-05-01T11:00:47Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216542#M169672</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a very similar performance problem when user/s tries to open a space through WEB interface with more than 1000 documents in it (it takes like 30 seconds after Alfresco Explorer displays sometime less then 1000 items).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The documents are created via WebScripts in the repository everyone with own ACL (that is a permission associated to a detailed user). &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If instead I search documents from the search interface through Lucene metadata (example: for contained text or for property document name ), the search is faster.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ALFRESCO: Alfresco 3.0 Community/ Alfresco 3.0 Enterprise&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;DB: Oracle 10 DB &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;AS: JBoss 4.2.1 GA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;JAVA: jdk 1.5_22&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;OS: Red Hat Enterprise Linux 5.3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;RAM: 2 GB&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does somebody have some any ideas ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thank you.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 May 2010 08:16:42 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216542#M169672</guid>
      <dc:creator>antoninoferraro</dc:creator>
      <dc:date>2010-05-05T08:16:42Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216543#M169673</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks brian.robinson for the hint.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I set higher my db connection pool configuration but no improvement. Its really sad that there are not any information about similar issues.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 May 2010 11:35:45 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216543#M169673</guid>
      <dc:creator>lagreen</dc:creator>
      <dc:date>2010-05-05T11:35:45Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216544#M169674</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here is one post on the topic.&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://forums.alfresco.com/en/viewtopic.php?f=4&amp;amp;t=22629" rel="nofollow noopener noreferrer"&gt;http://forums.alfresco.com/en/viewtopic.php?f=4&amp;amp;t=22629&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;For Alfresco Explorer: Find you document using a search. No one can in practice browse through pages and pages to find documents. Why does page browsing in Epxlorer become slow? It retrieves all the files in the space in one batch, and then have to do security evaluation for each, and determine for each what action items to display. Not the best solution, but that is how it works. Share is better in this regard, with true paging. Still, avoid to many files in one directory.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Why is the number of files in a space different each time? This is because of lucene/query timeouts. It has a maxmum number of ACL check, and a time limit. Whatever comes first stops returning more nodes, and return the already processed batch. &lt;/SPAN&gt;&lt;A href="http://www.google.com/search?q=site:forums.alfresco.com+system.acl.maxPermissionChecks" rel="nofollow noopener noreferrer"&gt;http://www.google.com/search?q=site:forums.alfresco.com+system.acl.maxPermissionChecks&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you really need to store many files in one space, create a separate webscript for browsing that space. there is also the possibility to sidestep security check on each file in the search result, thereby improving performance.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 May 2010 12:10:09 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216544#M169674</guid>
      <dc:creator>loftux</dc:creator>
      <dc:date>2010-05-05T12:10:09Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216545#M169675</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi, we did notice that problem as well.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Our solution was to automatically classify the files in sub-folders (in example in a year/month/day structure) so that a single folder will not exceed 500 files. The automatic classification can be done with a rule and a bit of javascript.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Denis&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 May 2010 14:43:35 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216545#M169675</guid>
      <dc:creator>dgenard</dc:creator>
      <dc:date>2010-05-05T14:43:35Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216546#M169676</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanx for the suggestions. I think we will do this sub-folder thing. We allready did this by making month sub-folders, but now i understand that we should make sub-folders by days too. I hope that some day there will be possibility to keep 1000+ files in one directory and the browse time will be good &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ok, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;wish you all the best.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 May 2010 08:30:15 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216546#M169676</guid>
      <dc:creator>lagreen</dc:creator>
      <dc:date>2010-05-07T08:30:15Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216547#M169677</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;At least this is a known issue for 3.2, see for example &lt;/SPAN&gt;&lt;A href="http://issues.alfresco.com/jira/browse/ALF-2722" rel="nofollow noopener noreferrer"&gt;http://issues.alfresco.com/jira/browse/ALF-2722&lt;/A&gt;&lt;SPAN&gt; and related. There is a fix for 3.3 which might be retrofitted to 3.2, i'm just investigating this… However, partitioning your directories might not cure the problem, as the deeper reason for the problem is perhaps a bogus SQL "OUTER JOIN", which might bite you even on small folders. (I think it rather depends on the total number of nodes in the system)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gyro&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 May 2010 11:33:42 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216547#M169677</guid>
      <dc:creator>gyro_gearless</dc:creator>
      <dc:date>2010-05-07T11:33:42Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216548#M169678</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Gyro.Gearless,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So, Enterprise and Community have the same problem. Also previous version?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How can i fix it?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 May 2010 17:00:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216548#M169678</guid>
      <dc:creator>fracat71</dc:creator>
      <dc:date>2010-05-07T17:00:56Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216549#M169679</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've filed &lt;/SPAN&gt;&lt;A href="http://issues.alfresco.com/jira/browse/ALF-2960" rel="nofollow noopener noreferrer"&gt;ALF-2960&lt;/A&gt;&lt;SPAN&gt; in response to this.&amp;nbsp; I changed the node-&amp;gt;properties and node-&amp;gt;aspects associations to fetch via subselect, and that has helped some.&amp;nbsp; Further tuning is in order.&amp;nbsp; It's still not returning results within ten seconds, so I might need to bump up my system.acl.maxPermissionCheckTimeMillis.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 May 2010 23:04:30 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216549#M169679</guid>
      <dc:creator>kgeis</dc:creator>
      <dc:date>2010-05-24T23:04:30Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216550#M169680</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;as workaround, we have changed the ResultTransformer in /Repository/source/java/org/alfresco/repo/node/db/hibernate/HibernateNodeDaoServiceImpl.java around line 3126:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void cacheNodesNoBatch(Store store, List&amp;lt;String&amp;gt; uuids)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Criteria criteria = getSession().createCriteria(NodeImpl.class, "node");&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ————————————————————————————-&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Kludge AW 2010-05-07: Discard duplicate node ids&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // criteria.setResultTransformer(Criteria.ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ————————————————————————————-&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;This is perhaps essentially the same as the fix proposed by Alfresco - the problem with OUTER JOIN fetching is a known weakness in Hibernate, so it has it's own workaround&amp;nbsp; :mrgreen: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Results are quite promising: a folder with ~ 600 documents, which was peviously shown in 40 secs now shows up in 4…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Gyro&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 May 2010 09:39:36 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216550#M169680</guid>
      <dc:creator>gyro_gearless</dc:creator>
      <dc:date>2010-05-25T09:39:36Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216551#M169681</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We've done a similar fix: &lt;/SPAN&gt;&lt;A href="https://issues.alfresco.com/jira/browse/ALF-2839" rel="nofollow noopener noreferrer"&gt;https://issues.alfresco.com/jira/browse/ALF-2839&lt;/A&gt;&lt;SPAN&gt;.&amp;nbsp; There are also a few other related tweaks to speed things up.&amp;nbsp; You'll still be getting 2n+1 performance against cold caches, but it's better than the blow-out of the resultset caused by the X*Y*Z rows returned by the original query.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 May 2010 11:00:15 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216551#M169681</guid>
      <dc:creator>derek</dc:creator>
      <dc:date>2010-05-25T11:00:15Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216552#M169682</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sorry for my question, but what changes solve the problem?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This is mine version (revision is 17458)&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp; private void cacheNodesNoBatch(Store store, List&amp;lt;String&amp;gt; uuids)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Criteria criteria = getSession().createCriteria(NodeImpl.class, "node");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setResultTransformer(Criteria.ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.eq("store.id", store.getId()));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.in("uuid", uuids));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setCacheMode(CacheMode.PUT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFlushMode(FlushMode.MANUAL);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; List nodeList = criteria.list();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; List nodeIds = new ArrayList(nodeList.size());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (Node node : nodeList)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Long nodeId = node.getId();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.storeAndNodeIdCache.put(node.getNodeRef(), nodeId);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodeIds.add(nodeId);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nodeIds.size() == 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria = getSession().createCriteria(ChildAssocImpl.class, "parentAssoc");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setResultTransformer(Criteria.ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.in("child.id", nodeIds));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setCacheMode(CacheMode.PUT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFlushMode(FlushMode.MANUAL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; List parentAssocs = criteria.list();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map parentAssocMap = new HashMap(nodeIds.size() * 2);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (ChildAssoc parentAssoc : parentAssocs)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodeId = parentAssoc.getChild().getId();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List parentAssocsOfNode = (List)parentAssocMap.get(nodeId);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parentAssocsOfNode == null)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parentAssocsOfNode = new ArrayList(3);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parentAssocMap.put(nodeId, parentAssocsOfNode);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parentAssocsOfNode.add(parentAssoc);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.isDebugParentAssocCacheEnabled)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loggerParentAssocsCache.debug("\nParent associations cache - Adding entry: \n&amp;nbsp;&amp;nbsp; Node:&amp;nbsp;&amp;nbsp; " + nodeId + "\n" + "&amp;nbsp;&amp;nbsp; Assocs: " + parentAssocsOfNode);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (Node node : nodeList)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodeId = node.getId();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List parentAsssocsOfNode = (List)parentAssocMap.get(nodeId);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parentAsssocsOfNode == null)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parentAsssocsOfNode = Collections.emptyList();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.parentAssocsCache.put(nodeId, new NodeInfo(node, this.qnameDAO, parentAsssocsOfNode));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;This is TH solution. See the comment //Kludge AW 2010-05-07: Discard duplicate node ids&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void cacheNodesNoBatch(Store store, List&amp;lt;String&amp;gt; uuids)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Criteria criteria = getSession().createCriteria(NodeImpl.class, "node");&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ————————————————————————————-&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Kludge AW 2010-05-07: Discard duplicate node ids&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // criteria.setResultTransformer(Criteria.ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ————————————————————————————-&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;This is 3.3 version (revision is 20392).See the comment //We have duplicate nodes, so make sure we only process each node once&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void cacheNodesNoBatch(Store store, List&amp;lt;String&amp;gt; uuids)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Criteria criteria = getSession().createCriteria(NodeImpl.class, "node");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setResultTransformer(Criteria.ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.eq("store.id", store.getId()));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.in("uuid", uuids));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setCacheMode(CacheMode.PUT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFlushMode(FlushMode.MANUAL);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Node&amp;gt; nodeList = criteria.list();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&amp;lt;Long&amp;gt; nodeIds = new HashSet&amp;lt;Long&amp;gt;(nodeList.size()*2);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (Node node : nodeList)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // We have duplicate nodes, so make sure we only process each node once&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Long nodeId = node.getId();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!nodeIds.add(nodeId))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Already processed&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; storeAndNodeIdCache.put(node.getNodeRef(), nodeId);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nodeIds.size() == 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Can't query&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria = getSession().createCriteria(ChildAssocImpl.class, "parentAssoc");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setResultTransformer(Criteria.ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.in("child.id", nodeIds));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setCacheMode(CacheMode.PUT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFlushMode(FlushMode.MANUAL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;ChildAssoc&amp;gt; parentAssocs = criteria.list();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Map&amp;lt;Long, List&amp;lt;ChildAssoc&amp;gt;&amp;gt; parentAssocMap = new HashMap&amp;lt;Long, List&amp;lt;ChildAssoc&amp;gt;&amp;gt;(nodeIds.size() * 2);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (ChildAssoc parentAssoc : parentAssocs)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Long nodeId = parentAssoc.getChild().getId();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;ChildAssoc&amp;gt; parentAssocsOfNode = parentAssocMap.get(nodeId);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parentAssocsOfNode == null)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parentAssocsOfNode = new ArrayList&amp;lt;ChildAssoc&amp;gt;(3);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parentAssocMap.put(nodeId, parentAssocsOfNode);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parentAssocsOfNode.add(parentAssoc);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (isDebugParentAssocCacheEnabled)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loggerParentAssocsCache.debug("\n" +&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Parent associations cache - Adding entry: \n" +&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;nbsp;&amp;nbsp; Node:&amp;nbsp;&amp;nbsp; " + nodeId + "\n" +&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&amp;nbsp;&amp;nbsp; Assocs: " + parentAssocsOfNode);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Cache NodeInfo for each node&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (Node node : nodeList)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Long nodeId = node.getId();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;ChildAssoc&amp;gt; parentAsssocsOfNode = parentAssocMap.get(nodeId);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (parentAsssocsOfNode == null)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parentAsssocsOfNode = Collections.emptyList();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parentAssocsCache.put(nodeId, new NodeInfo(node, qnameDAO, parentAsssocsOfNode));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 May 2010 11:49:20 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216552#M169682</guid>
      <dc:creator>fracat71</dc:creator>
      <dc:date>2010-05-25T11:49:20Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216553#M169683</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i have applied both changes to my project.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have two Envs.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;- Env. A:&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;- ALFRESCO: Community Current version 3.2.0 (r2 2440) schema 3300&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- OS: Windows xp 32 bit , RAM 2,5G , Intel Core Duo 2,1 GHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- AS: Tomcat 6.0.18&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- JAVA: Jdk 6.0_11. Heap 986,125MB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- DB :Mysql 5.1.35 Community&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;Env.B:&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;- ALFRESCO: Community Current version 3.2.0 (r2 2440) schema 3300&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- OS: Linux Oracle 64 bit (RedHat 5.4), RAM 6G&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- AS: JBOSS 4.2.2 GA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- JAVA: Jdk 6.0_18. Heap 4GB&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- DB: Oracle 11g&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have not applied and tested on Env. A where i have problems of perfomance and returned values&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have applied on Env.B and now no excpetion is eraised until 247 elements returned (before the changes every Oracle query on DB has errors ORA-01795 also with 247) , on this Env.B i have not tested with a lot data (40000) like my previuos post.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 May 2010 14:25:30 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216553#M169683</guid>
      <dc:creator>fracat71</dc:creator>
      <dc:date>2010-05-25T14:25:30Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216554#M169684</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get nodes and properties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Criteria criteria = getSession().createCriteria(NodeImpl.class, "node");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setResultTransformer(Criteria.ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.eq("store.id", store.getId()));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.in("uuid", uuids));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFetchMode("aspects", FetchMode.SELECT);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Don't join to aspects&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setCacheMode(CacheMode.PUT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFlushMode(FlushMode.MANUAL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.list();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get nodes and aspects&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria = getSession().createCriteria(NodeImpl.class, "node");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setResultTransformer(Criteria.ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.eq("store.id", store.getId()));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.in("uuid", uuids));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFetchMode("properties", FetchMode.SELECT);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Don't join to properties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setCacheMode(CacheMode.PUT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFlushMode(FlushMode.MANUAL);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Node&amp;gt; nodeList = criteria.list();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&amp;lt;Long&amp;gt; nodeIds = new HashSet&amp;lt;Long&amp;gt;(nodeList.size()*2);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (Node node : nodeList)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // We have duplicate nodes, so make sure we only process each node once&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Long nodeId = node.getId();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!nodeIds.add(nodeId))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Already processed&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; storeAndNodeIdCache.put(node.getNodeRef(), nodeId);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nodeIds.size() == 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Can't query&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 May 2010 16:58:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216554#M169684</guid>
      <dc:creator>derek</dc:creator>
      <dc:date>2010-05-25T16:58:29Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216555#M169685</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi all,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;now i have a lot of versions of the software……&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1- Gyro.Gearless : &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;replace&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt; criteria.setResultTransformer(Criteria.ROOT_ENTITY);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;with &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt; criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;2- SVN Head :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;replace&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;for (Node node : nodeList)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Long nodeId = node.getId();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.storeAndNodeIdCache.put(node.getNodeRef(), nodeId);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodeIds.add(nodeId);&lt;BR /&gt;}&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;with&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt; for (Node node : nodeList)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // We have duplicate nodes, so make sure we only process each node once&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Long nodeId = node.getId();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!nodeIds.add(nodeId))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Already processed&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; storeAndNodeIdCache.put(node.getNodeRef(), nodeId);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;3-derek&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;add &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&lt;BR /&gt;…..&lt;BR /&gt;criteria.setFetchMode("aspects", FetchMode.SELECT);&lt;BR /&gt;……&lt;BR /&gt;criteria.setFetchMode("properties", FetchMode.SELECT);&lt;BR /&gt;…..&lt;BR /&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;SPAN&gt;Do i have applay all?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I believe that this a blocking bug.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 May 2010 07:33:53 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216555#M169685</guid>
      <dc:creator>fracat71</dc:creator>
      <dc:date>2010-05-26T07:33:53Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216556#M169686</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;SPAN&gt;: I'm not convinced on the behaviour of &lt;/SPAN&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;SPAN&gt; (it says a distinct entity per row, if I remember) and I don't know if it's rolling the related properties and aspects up correctly.&amp;nbsp; We don't have that in our tested code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;SPAN&gt;: Yes. That eliminates the duplicates and prevents blow-outs of the subsequent queries.&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;SPAN&gt;: Yes. That prevents blow-out of the resultset from left joins to nodes AND aspects in the same query.&amp;nbsp; We have a Criteria query for nodes-and-properties and a Criteria query for nodes-and-aspects.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 May 2010 11:23:34 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216556#M169686</guid>
      <dc:creator>derek</dc:creator>
      <dc:date>2010-05-26T11:23:34Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216557#M169687</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi derek,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks for your support.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But i don't understand yuor code it seems to code written twice with a criteria.list() without returned value: is it ok?&lt;/SPAN&gt;&lt;BR /&gt;&lt;EM&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get nodes and properties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Criteria criteria = getSession().createCriteria(NodeImpl.class, "node");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setResultTransformer(Criteria.ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.eq("store.id", store.getId()));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.in("uuid", uuids));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFetchMode("aspects", FetchMode.SELECT);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Don't join to aspects&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setCacheMode(CacheMode.PUT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFlushMode(FlushMode.MANUAL);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;criteria.list();&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get nodes and aspects&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria = getSession().createCriteria(NodeImpl.class, "node");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setResultTransformer(Criteria.ROOT_ENTITY);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.eq("store.id", store.getId()));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.in("uuid", uuids));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFetchMode("properties", FetchMode.SELECT);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Don't join to properties&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setCacheMode(CacheMode.PUT);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.setFlushMode(FlushMode.MANUAL);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Node&amp;gt; nodeList = criteria.list();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set&amp;lt;Long&amp;gt; nodeIds = new HashSet&amp;lt;Long&amp;gt;(nodeList.size()*2);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (Node node : nodeList)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // We have duplicate nodes, so make sure we only process each node once&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Long nodeId = node.getId();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!nodeIds.add(nodeId))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Already processed&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; continue;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; storeAndNodeIdCache.put(node.getNodeRef(), nodeId);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nodeIds.size() == 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Can't query&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Note that i'm testing 1+2 on OracleDB with 250 elements and seems to work( fast and without errors).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Now i'm testing 1+2 on MysqlDB a folder with 1000 subfolders (every subfolder has others 5 subsubfolders) and the explorer view is working(2/3 seconds to display) but the delete is very very very slow (15 minutes and is working……untill now).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The log4j says:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;14:18:29,218 User:admin WARN&amp;nbsp; [org.alfresco.storeAndNodeIdTransactionalCache] Transactional update cache 'org.alfresco.storeAndNodeIdTransactionalCach&lt;BR /&gt;e' is full (10000).&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 May 2010 12:29:55 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216557#M169687</guid>
      <dc:creator>fracat71</dc:creator>
      <dc:date>2010-05-26T12:29:55Z</dc:date>
    </item>
    <item>
      <title>Re: performance problems when too many files in one directory</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216558#M169688</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You might be better off without the batch code completely.&amp;nbsp; On the Enterprise release we have also added code to check the presence of nodes in the cache before adding it to the list to batch-fetch.&amp;nbsp; The cache being full is a problem and you should increase the cache size to accommodate the types of operations you wish to perform.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 May 2010 12:43:14 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/performance-problems-when-too-many-files-in-one-directory/m-p/216558#M169688</guid>
      <dc:creator>derek</dc:creator>
      <dc:date>2010-05-26T12:43:14Z</dc:date>
    </item>
  </channel>
</rss>

