[jira] [Commented] (JCRVLT-18) Set default autosave threshold based on repository implementation
[ https://issues.apache.org/jira/browse/JCRVLT-18?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13799075#comment-13799075 ] Konrad Windszus commented on JCRVLT-18: --- That is still a problem for the default mode ImportMode.REPLACE (https://svn.apache.org/repos/asf/jackrabbit/commons/filevault/trunk/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/api/FilterSet.java) if a node gets replaced which is having a lot of subnodes. The delete operation will basically block for a long time in Jackrabbit 2 because the autosave threshold is ignored for the delete operation. What would be better is probably: Traverse through the old content and save after deleting 1000 leaf nodes. > Set default autosave threshold based on repository implementation > - > > Key: JCRVLT-18 > URL: https://issues.apache.org/jira/browse/JCRVLT-18 > Project: Jackrabbit FileVault > Issue Type: Improvement >Reporter: Tobias Bocanegra >Priority: Minor > > with jackrabbit 2.0 we had a limitation of the size of the transient space as > it is held in memory. in order to support large packages, the AutoSave > threshold is set to 1024 nodes. > with jackrabbit 3.0 the transient space is more or less unlimited in size, > and we can install large packages in 1 save, which improves installation > atomicity. > however, the bigger the transient size, the higher the chance for collisions > during installation of large packages, so saving in chunks yields to a more > robust installation behavior. > suggestions: > - autosave threshold of 0 should mean 'auto' > - autosave threshold of -1 should mean 'never' > - packages can provide their desired autosave threshold via properties -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (JCRVLT-18) Set default autosave threshold based on repository implementation
[ https://issues.apache.org/jira/browse/JCRVLT-18?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13800400#comment-13800400 ] Thomas Mueller commented on JCRVLT-18: -- > with jackrabbit 3.0 the transient space is more or less unlimited in size, > and we can install large packages in 1 save, which improves installation > atomicity. Yes. Please note it does not necessarily improve installation *performance* when using one very large transaction (autosave threshold of -1) for the MongoDB case. In fact large transactions might be slower than small ones. The reason is that MongoMK does not support large transactions (and MongoDB doesn't support transactions at all), so that large transactions require more work than multiple smaller transactions. > Set default autosave threshold based on repository implementation > - > > Key: JCRVLT-18 > URL: https://issues.apache.org/jira/browse/JCRVLT-18 > Project: Jackrabbit FileVault > Issue Type: Improvement >Reporter: Tobias Bocanegra >Priority: Minor > > with jackrabbit 2.0 we had a limitation of the size of the transient space as > it is held in memory. in order to support large packages, the AutoSave > threshold is set to 1024 nodes. > with jackrabbit 3.0 the transient space is more or less unlimited in size, > and we can install large packages in 1 save, which improves installation > atomicity. > however, the bigger the transient size, the higher the chance for collisions > during installation of large packages, so saving in chunks yields to a more > robust installation behavior. > suggestions: > - autosave threshold of 0 should mean 'auto' > - autosave threshold of -1 should mean 'never' > - packages can provide their desired autosave threshold via properties -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (JCRVLT-18) Set default autosave threshold based on repository implementation
[ https://issues.apache.org/jira/browse/JCRVLT-18?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13800429#comment-13800429 ] Felix Meschberger commented on JCRVLT-18: - [~tmueller] I think for package installation, stability is more important than performance. The main drawback of autosave (which is why I really don't like it) is that it is not atomic and may leave partially installed packages behind which are hard to cleanup. I would suggest to remove auto save alltogether and rather instruct users to use smaller packages. > Set default autosave threshold based on repository implementation > - > > Key: JCRVLT-18 > URL: https://issues.apache.org/jira/browse/JCRVLT-18 > Project: Jackrabbit FileVault > Issue Type: Improvement >Reporter: Tobias Bocanegra >Priority: Minor > > with jackrabbit 2.0 we had a limitation of the size of the transient space as > it is held in memory. in order to support large packages, the AutoSave > threshold is set to 1024 nodes. > with jackrabbit 3.0 the transient space is more or less unlimited in size, > and we can install large packages in 1 save, which improves installation > atomicity. > however, the bigger the transient size, the higher the chance for collisions > during installation of large packages, so saving in chunks yields to a more > robust installation behavior. > suggestions: > - autosave threshold of 0 should mean 'auto' > - autosave threshold of -1 should mean 'never' > - packages can provide their desired autosave threshold via properties -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (JCRVLT-18) Set default autosave threshold based on repository implementation
[ https://issues.apache.org/jira/browse/JCRVLT-18?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13800521#comment-13800521 ] Thomas Mueller commented on JCRVLT-18: -- [~fmeschbe] I understand. > I would suggest to remove auto save alltogether and rather instruct users to > use smaller packages. That would be best - fast and secure, even for CRX 2.x that doesn't support large transactions :-) > Set default autosave threshold based on repository implementation > - > > Key: JCRVLT-18 > URL: https://issues.apache.org/jira/browse/JCRVLT-18 > Project: Jackrabbit FileVault > Issue Type: Improvement >Reporter: Tobias Bocanegra >Priority: Minor > > with jackrabbit 2.0 we had a limitation of the size of the transient space as > it is held in memory. in order to support large packages, the AutoSave > threshold is set to 1024 nodes. > with jackrabbit 3.0 the transient space is more or less unlimited in size, > and we can install large packages in 1 save, which improves installation > atomicity. > however, the bigger the transient size, the higher the chance for collisions > during installation of large packages, so saving in chunks yields to a more > robust installation behavior. > suggestions: > - autosave threshold of 0 should mean 'auto' > - autosave threshold of -1 should mean 'never' > - packages can provide their desired autosave threshold via properties -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Commented] (JCRVLT-18) Set default autosave threshold based on repository implementation
[ https://issues.apache.org/jira/browse/JCRVLT-18?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13800817#comment-13800817 ] Tobias Bocanegra commented on JCRVLT-18: > I would suggest to remove auto save alltogether and rather instruct users to > use smaller packages. which is not very practical. the system should be able to create and restore packages with unlimited # of nodes and content size. it should be smart enough to distinguish between "system content" that contains bundles, configuration, scripts, etc, that need to be "saved" atomatically. And between "user content" that should be imported best effort. worst experience would be that an import that takes several hours fails at the end, because of a ConcurrentModificationException. > Set default autosave threshold based on repository implementation > - > > Key: JCRVLT-18 > URL: https://issues.apache.org/jira/browse/JCRVLT-18 > Project: Jackrabbit FileVault > Issue Type: Improvement >Reporter: Tobias Bocanegra >Priority: Minor > > with jackrabbit 2.0 we had a limitation of the size of the transient space as > it is held in memory. in order to support large packages, the AutoSave > threshold is set to 1024 nodes. > with jackrabbit 3.0 the transient space is more or less unlimited in size, > and we can install large packages in 1 save, which improves installation > atomicity. > however, the bigger the transient size, the higher the chance for collisions > during installation of large packages, so saving in chunks yields to a more > robust installation behavior. > suggestions: > - autosave threshold of 0 should mean 'auto' > - autosave threshold of -1 should mean 'never' > - packages can provide their desired autosave threshold via properties -- This message was sent by Atlassian JIRA (v6.1#6144)