Daily Log for #alfresco IRC Channel

Alfresco discussion and collaboration. Stick around a few hours after asking a question.

Official support for Enterprise subscribers: support.alfresco.com.

Joining the Channel:

Join in the conversation by getting an IRC client and connecting to #alfresco at Freenode. Our you can use the IRC web chat.

More information about the channel is in the wiki.

Getting Help

More help is available in this list of resources.

Daily Log for #alfresco

2017-09-13 06:27:21 GMT <twen> hello

2017-09-13 07:36:51 GMT <nihariks> hey anyone there to help me

2017-09-13 07:37:42 GMT <nihariks> I am trying to calculate the number of files present in a folder in alfresco

2017-09-13 07:38:46 GMT <nihariks> the whole thing is working fine but the only problem that I am facing is that it also counts a comment as a file

2017-09-13 07:39:05 GMT <nihariks> so,the number of file increases

2017-09-13 07:41:35 GMT <nihariks> another thing that I have noticed is that it creates fm:discussion association inside the parent folder that holds all the comments.So,plz tell me how to ignore that discussion in java file in alfresco

2017-09-13 09:01:52 GMT <monica_> hello everyone. I want to check if the uploaded document is a file or a folder. anyone have any idea about this ? how can I check if the uploaded document is a file or a folder?

2017-09-13 09:35:34 GMT <DarkStar1> Morning everyone

2017-09-13 10:33:28 GMT <hi-ko> Does anybody know if it's save to reduce the caches like node.propertiesSharedCache if I see most load by GC always flushing the caches since the data is to much (alf_node_properties has 200 mio rows ...)?

2017-09-13 10:35:06 GMT <hi-ko> So my idea is to reduce the caches in question to 0 and let the database do the work.

2017-09-13 10:43:25 GMT <AFaust> "GC flushing the caches" => Never seen that

2017-09-13 10:44:19 GMT <AFaust> Does you Alfresco instance really have so extremely little memory that it cannot hold 130.000 nodes + aspects + properties in the cache?

2017-09-13 10:45:47 GMT <AFaust> But as to your question: from a functional point it should be safe to set the cache.node.XYCache to have few / zero items, as long as you allow the transactional cache to keep items.

2017-09-13 10:46:20 GMT <AFaust> Bear in mind though, that setting to literally 0 is not advised and may have a counter-intuitive effect.

2017-09-13 10:46:35 GMT <AFaust> The DefaultSimpleCache class sets the cache size to Integer.MAX_VALUE when you specify 0

2017-09-13 10:46:57 GMT <hi-ko> sorry my explanation was missleading: Alfresco hits the cache limit and flushes the cache which then gets work for the gc

2017-09-13 10:47:32 GMT <AFaust> But Alfresco does not flush the cache when it hits capacity - it only evacuates a certain percentage of items...

2017-09-13 10:48:15 GMT <hi-ko> When I see 2017-09-13 11:47:51.824 WARN [cache.node.nodesTransactionalCache] Transactional update cache 'org.alfresco.cache.node.nodesTransactionalCache' is full (125000).

2017-09-13 10:48:19 GMT <AFaust> Ok...

2017-09-13 10:48:28 GMT <AFaust> so it has nothing to do with the shared caches at all

2017-09-13 10:48:32 GMT <AFaust> only with the transactional caches

2017-09-13 10:49:34 GMT <AFaust> What kind of operation are you running that hits that limit? That should never happen in a properly designed operation. You would have to access / modify 125.000 nodes in a single transaction to achieve that.

2017-09-13 10:50:34 GMT <AFaust> But yes, that will kill your server performance in many ways... first by flushing the cache and second because of poor GC (assuming you are still using CMS)

2017-09-13 10:51:09 GMT <hi-ko> Just uploads and exact search using db-afts

2017-09-13 10:53:34 GMT <hi-ko> -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+UseParNewGC

2017-09-13 10:56:42 GMT <AFaust> ~flushLog

2017-09-13 10:56:42 GMT <alfbot> AFaust: Woooosh, your log has been flushed...

2017-09-13 10:57:34 GMT <AFaust> hi-ko: "Just" uploads should not cause this problem, and exact search only if your result set is not limited properly.

2017-09-13 10:57:50 GMT <AFaust> One thing I could think of would be an upload of a ZIP that is then unpacked in one transaction

2017-09-13 10:57:58 GMT <AFaust> Though that would have to be a custom setup.

2017-09-13 10:59:50 GMT <AFaust> Either way, limiting the cache size would certainly help you address the second issue with the cache clearance. But it will definitely tank the performance of most average operations...

2017-09-13 11:00:10 GMT <hi-ko> exact search logs result sets so I can proof it's not expensive

2017-09-13 11:02:19 GMT <hi-ko> AFaust: Thanks so far for your input!

2017-09-13 11:02:39 GMT <AFaust> Note: Exact search can be problematic if you use it for heavily paginated queries, as it'll load nodes into caches for permission checks (before applying result limits) like the ACL checks for Lucene used to do. So if you are doing a query with offset 1000, that means that 999 or more nodes will be loaded into cache before your result is actually processed.

2017-09-13 11:03:25 GMT <hi-ko> sure - but we expect always one result.

2017-09-13 11:05:39 GMT <AFaust> You can get stack information of what operation cause cache to be full by setting TransactionalCache Logger to INFO

2017-09-13 11:07:52 GMT <hi-ko> Nice tip - I will do so! but go to lunch first ;-)

2017-09-13 11:10:30 GMT <AFaust> Quite a late lunch for your region...

2017-09-13 11:12:33 GMT <MTielemans> AFaust, there's not really any better way to do pagination queries on a resultset of several thousands is there? You always get this permission checks issue.

2017-09-13 11:12:45 GMT <MTielemans> Just curious

2017-09-13 11:13:10 GMT <AFaust> Well - it depends on how you sort and slice your result set.

2017-09-13 11:13:44 GMT <AFaust> Using the traditional "here is my query - give me results back in any order (relevance implied)" there is only the SOLR option...

2017-09-13 11:15:18 GMT <AFaust> But if you actually apply a business oriented sort to your result set, you can do a properly efficient pagination even on DB queries by using your query to handle the offset, e.g. have a CMIS query where you add "AND my:prop > lastValueOfMyProp

2017-09-13 11:19:10 GMT <MTielemans> Hmm. Very good idea. Thanks!

2017-09-13 11:29:04 GMT <AFaust> Problem is that it limits you to using CMIS queries since FTS does not have the required type of larger/less than operators...

2017-09-13 11:29:25 GMT <AFaust> And a lot of use cases cannot be transformed to that kind of querying...

2017-09-13 11:30:02 GMT <AFaust> I have recently used it to build an incremental batch work provider for processing large user bases in Alfresco.

2017-09-13 11:31:08 GMT <AFaust> Example can be seen in https://github.com/Acosix/alfresco-utility/blob/master/repository/src/main/java/de/acosix/alfresco/utility/repo/batch/PersonBatchWorkProvider.java#L102 (warning: looks complex due to the way I handle determination of the from/to business offset/limits for pagination)

2017-09-13 11:31:09 GMT <alfbot> Title: alfresco-utility/PersonBatchWorkProvider.java at master · Acosix/alfresco-utility · GitHub (at github.com)

2017-09-13 12:09:41 GMT <yreg> ~since

2017-09-13 12:09:41 GMT <alfbot> yreg: Error: I couldn't find in my history of 595 messages where 'yreg' last left #alfresco

2017-09-13 12:09:56 GMT <yreg> Morning everyone !

2017-09-13 12:10:47 GMT <MarkTielemans> Morning!

2017-09-13 12:16:56 GMT <yreg> Hey Mark ! how it goes ?

2017-09-13 12:19:53 GMT <MTielemans> yreg, I'm good :) Lots of interesting stuff to do. How are you?

2017-09-13 12:24:44 GMT <yreg> Fine fine !

2017-09-13 12:24:58 GMT <yreg> are you located in Belgium or in the Netherlands ?

2017-09-13 12:25:19 GMT <MTielemans> Netherlands! We're based in Amersfoort.

2017-09-13 12:25:25 GMT <MTielemans> You're in Belgium right?

2017-09-13 12:26:01 GMT <yreg> Indeed, though I would invite you to the local hacker room in brussels, but that's probably too far for you !

2017-09-13 12:26:15 GMT <yreg> https://community.alfresco.com/docs/DOC-7078-local-hacker-rooms-global-hackathon

2017-09-13 12:26:17 GMT <alfbot> Title: Local Hacker Rooms - Global Hackathon | Alfresco Community (at community.alfresco.com)

2017-09-13 12:36:18 GMT <MTielemans> Thanks for the invite! It's worth considering but you're right, it's quite a drive. Also we don't host a hackerroom but we have a number of employees participating in our office.

2017-09-13 13:49:52 GMT <fcorti> Hi all

2017-09-13 13:50:20 GMT <douglascrp> fcorti, hi

2017-09-13 13:50:25 GMT <fcorti> in 10 minutes Tech Talk Live 109 will happen about showing the Digital Business Platform in action

2017-09-13 13:50:32 GMT <fcorti> hi douglascrp

2017-09-13 13:50:49 GMT <angelborroy> Starting my vagrant server… :)

2017-09-13 13:51:00 GMT <fcorti> cool!!!!

2017-09-13 13:51:03 GMT <fcorti> :-)

2017-09-13 13:51:11 GMT <fcorti> Here the link

2017-09-13 13:51:12 GMT <fcorti> douglascrp

2017-09-13 13:51:18 GMT <fcorti> https://youtu.be/3xye9wvtf30

2017-09-13 13:52:00 GMT <Loftux> fcorti: So what is the digital business platform besides sounding like a marketing term?

2017-09-13 13:52:31 GMT <fcorti> Join the tech talk live...

2017-09-13 13:52:41 GMT <angelborroy> Loftux is a reaction http://blogs.gartner.com/michael-woodbridge/the-death-of-ecm-and-birth-of-content-services/

2017-09-13 13:52:42 GMT <alfbot> Title: The Death of ECM and Birth of Content Services (at blogs.gartner.com)

2017-09-13 13:52:43 GMT <fcorti> glad to discuss it in the webinar

2017-09-13 13:53:37 GMT <angelborroy> Alfresco Content Services Applications Contents & Components is too large :D

2017-09-13 13:56:36 GMT <pedroGonzalez_> Hi everybody, i'm waiting to see talk live ;)

2017-09-13 13:56:51 GMT <fcorti> Hi pedroGonzalez_, nice

2017-09-13 13:57:26 GMT <fcorti> feel free to raise questions here or in the youtube chat

2017-09-13 13:59:01 GMT <pedroGonzalez_> hehehe, ok, thanks

2017-09-13 14:04:23 GMT <hi-ko> AFaust: I think we've got the reason to explode the cache: the ct has a folder with several thousands of direct subfolders. When a user navigates to this folder the script treenode.get.js causes neally all caches to explode ...

2017-09-13 14:07:57 GMT <angelborroy> fcorti I’ve changed vagrant to a public network in order to test Desktop Sync

2017-09-13 14:08:07 GMT <angelborroy> as I needed a Windows client for that

2017-09-13 14:08:13 GMT <fcorti> interesting

2017-09-13 14:08:23 GMT <fcorti> will share this

2017-09-13 14:08:32 GMT <angelborroy> Should I include a comment at Community?

2017-09-13 14:08:37 GMT <fcorti> yes, please

2017-09-13 14:08:47 GMT <fcorti> feedback are more than welcome

2017-09-13 14:12:30 GMT <fcorti> Thank you Angel for the comment in the lab page...

2017-09-13 14:15:05 GMT <angelborroy> just changing two lines of configuration ;-)

2017-09-13 14:16:22 GMT <fcorti> it's the right time to raise questions here

2017-09-13 14:21:16 GMT <sujaypillai> Is there a Ansible playbook?

2017-09-13 14:21:19 GMT <sujaypillai> for the same

2017-09-13 14:22:29 GMT <fcorti> done!

2017-09-13 14:22:32 GMT <fcorti> Thank you

2017-09-13 14:28:11 GMT <sujaypillai> thanks

2017-09-13 14:28:49 GMT <fcorti> thanks you to attend the event

2017-09-13 14:29:07 GMT <pedroGonzalez_> thank you for all

2017-09-13 15:12:30 GMT <AFaust> hi-ko: Yes, especially if the tree is configured to check for existence of children in the child folders that it loads...

2017-09-13 15:13:23 GMT <AFaust> Of course that check could (should) be performed in a more performance conscious way by Alfresco, but good luck getting such an enhancement implemented by them

2017-09-13 15:15:14 GMT <hi-ko> AFaust: I prefer to reorganize the content ;-)

2017-09-13 15:15:27 GMT <AFaust> That'd be the more sensible thing to do

2017-09-13 15:16:33 GMT <AFaust> But please also check for <evaluate-child-folders> in Share "DocumentLibrary" config - it should be set to false to avoid such cascading data load issues

2017-09-13 15:16:52 GMT <hi-ko> AFaust: and thanks again for the hint with the logger which gave me the relevant insight

2017-09-13 15:19:39 GMT <hi-ko> AFaust: I will check also evaluate-child-folders

2017-09-13 15:29:33 GMT <hi-ko> AFaust: evaluate-child-folders is already set to false by default ...

2017-09-13 15:29:56 GMT <AFaust> Which default do you mean - the share-config-custom.xml provided in the Installer?

2017-09-13 15:30:17 GMT <AFaust> Because it certainly is not the default value in share-documentlibrary-config.xml bundled with Share WAR

2017-09-13 15:31:03 GMT <AFaust> Since I never use the installer or the sample files, I wouldn't know what they contain by default

2017-09-13 15:31:31 GMT <hi-ko> the share-config-custom.xml we put on our appliance ;-)

End of Daily Log

The other logs are at http://esplins.org/hash_alfresco