32832: Merged V3.4 to V3.4-BUG-FIX
32825: ImapMessageTest.testMessageModifiedBetweenReads() - should now be deterministic and not depend on which way the wind is blowing
- Got rid of message mangling and introduced proper multi-part message parsing
- We should ensure the updated message parses and is different rather than checking for a random concatenation throwing an IOException
32831: (RECORD ONLY) ALF-10828: Merged V3.4-BUG-FIX to V3.4
32541: Fix for ALF-11677 - Doing an HTTP POST to a repository webscript through the Share proxy fails on certain input
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32833 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Part 2 - refactor API + collateral damage
- Fix tracking tests to cope with the presence of background transactions - should fix Oracle build and other intermittent build failures
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32824 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
32456: (RECORD ONLY) Removed extraneous debugging
32538: ALF-12075: Merged DEV/TEMPORARY to V3.4-BUG-FIX
32476: ALF-11499: "The association source type is incorrect: " when trying to add extra documents to inflight workflow after upgrade to 3.2.0r and later
Patch that converts workflow package type and associations
32532: ALF-11499: "The association source type is incorrect: " when trying to add extra documents to inflight workflow after upgrade to 3.2.0r and later
1. Code comments
2. Removed potential catch of retryable exception
3. Removed unneccessary throw of PatchException
32541: Fix for ALF-11677 - Doing an HTTP POST to a repository webscript through the Share proxy fails on certain input
32712: ALF-12074 / ALF-10547: JMX settings lost after upgrade from 3.2.2 to 3.4.4
- MigrateAttrPropBackedBeanPatch now persists migrated data through the MBean interfaces (cluster and cache friendly) rather than going through the 'back door'
32734: ALF-12076: Fix ALF-11924 - HighlightFile after document upload in Share doclib
32738: ALF-11957: Merged PATCHES/V3.4.6 to V3.4-BUG-FIX
32617: ALF-11977 / ALF-11879: IMAP performance
- Fix node batch loading - batch load ContentData to avoid N+1 problem with content properties
- During cache preloading, use distinct transactions for each folder search, thus avoiding blowing the transactional caches
32619: ALF-11977 / ALF-11879: Fixed typo
32652: ALF-11977 / ALF-11879: Deactivate auto-versioning and auditing (and run as system) whilst setting magic IMAP aspect properties
32683: ALF-11978 / ALF-11915 iBatis synchronizes on the ClassInfo class during high concurrency
Similar change made to ibatis ClassInfo.java as was made to mybatis (in 4.0) for ALF-11894
src.diff is diff from new SVN location at http://mybatis.googlecode.com/svn/tags/java_release_2.3.4-726/ibatis-2-core hence the revision number changes
modified the pom to use Java 1.5 (1.6 does not work due to changes in abstract sql packages) and removed a plugin that no longer works
32788: ALF-12077: Fix for ALF-12050 - ensures that overly agressive caches won't cache Share PageView dynamic responses.
32818: Merged PATCHES/V3.4.6 to V3.4-BUG-FIX
32510: (RECORD ONLY) Merged V3.4-BUG-FIX to PATCHES/V3.4.6
32322: Possible fix for: (ALF-11344) SORT clause in CMIS query (ORDER BY) drastically affects performance of search.
- English based locales will sort as Java String comparison.
32411: Fix for ALF-11344 SORT clause in CMIS query (ORDER BY) drastically affects performance of search.
- use in memory sort rather than relying on the lucene field cache for result sets up to 1000 by default
- this is configurable across all query languages (and per query via SearchParameters and QueryOptions)
lucene.indexer.useInMemorySort=true
lucene.indexer.maxRawResultSetSizeForInMemorySort=1000
32425: Fix for ALF-11344 SORT clause in CMIS query (ORDER BY) drastically affects performance of search.
- fix for score sorting
32616: (RECORD ONLY) ALF-11849: Merged V3.4-BUG-FIX to PATCHES/V3.4.6
31653: ALF-8906: Ensure entire IMAP service startup transaction runs as system, to allow for any auto-aspect adding / versioning during cache warming
31676: ALF-8906: Fix IMAP unit test failures
32792: ALF-11894 / ALF-11915: Prevent contention in NodeService proxy by making NodeService_security proxy to a thread local!
- Use org.springframework.aop.target.ThreadLocalTargetSource
- Inventive or what?
32814: ALF-11894 / ALF-11915: Prevent contention in CMIS searches
- Rolled back previous fix because it didn't work!
- Patched ACEGI ConfigAttributeDefinition to use LinkedList rather than synchronized Vector to avoid contention on all NodeService accesses
- Created NonBlockingLazyInitTargetSource, again to avoid contention on all NodeService calls
32816: (RECORD ONLY) ALF-12072: Merged V3.4-BUG-FIX to PATCHES/V3.4.6
32788: Fix for ALF-12050 - ensures that overly aggressive caches won't cache Share PageView dynamic responses.
32819: Merged V3.4 to V3.4-BUG-FIX (RECORD ONLY)
32817: Merged PATCHES/V3.4.6 to V3.4 (3.4.7)
32510: ALF-11840: Merged V3.4-BUG-FIX to PATCHES/V3.4.6
32322: Possible fix for: (ALF-11344) SORT clause in CMIS query (ORDER BY) drastically affects performance of search.
- English based locales will sort as Java String comparison.
32411: Fix for ALF-11344 SORT clause in CMIS query (ORDER BY) drastically affects performance of search.
- use in memory sort rather than relying on the lucene field cache for result sets up to 1000 by default
- this is configurable across all query languages (and per query via SearchParameters and QueryOptions)
lucene.indexer.useInMemorySort=true
lucene.indexer.maxRawResultSetSizeForInMemorySort=1000
32425: Fix for ALF-11344 SORT clause in CMIS query (ORDER BY) drastically affects performance of search.
- fix for score sorting
32792: ALF-11978 / ALF-11915: Prevent contention in NodeService proxy by making NodeService_security proxy to a thread local!
- Use org.springframework.aop.target.ThreadLocalTargetSource
- Inventive or what?
32814: ALF-11978 / ALF-11915: Prevent contention in CMIS searches
- Rolled back previous fix because it didn't work!
- Patched ACEGI ConfigAttributeDefinition to use LinkedList rather than synchronized Vector to avoid contention on all NodeService accesses
- Created NonBlockingLazyInitTargetSource, again to avoid contention on all NodeService calls
32816: ALF-12050: Merged V3.4-BUG-FIX to PATCHES/V3.4.6
32788: Fix for ALF-12050 - ensures that overly aggressive caches won't cache Share PageView dynamic responses.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32821 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- so far unable to repeat either NPE (on Oracle or PostgreSQL)
- for Oracle - improve exception reporting (so next time we should get the correct line number) - note: requires more work to repeat/fix
- for PostgreSQL - guard against null (and avoid unboxing NPE)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32755 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
32598: ALF-11522 IMAP: Generic AlfrescoImapFolderException error is a bit misleading
Text was duplicated - previously modified text was not being used
32690: Merged V3.4-BUG-FIX to V3.4
32689: ALF-11603: Use different UIDVALIDITY values for different mounts of the same folder in IMAP to force client to fetch in both locations
32691: Merged PATCHES/V3.4.6 to V3.4
32397: ALF-9878 / ALF-11727 CLONE - Pending Invite Search doesn't return anything if there's more than 1000 pending invites across all sites.
Return first 200 invitations (similar to 4.0 paging)
Transaction used by the invites.get is now read only so does not force a flush of caches.
32404: ALF-9878 / ALF-11727 CLONE - Pending Invite Search doesn't return anything if there's more than 1000 pending invites across all sites.
Removed read only transaction from invites.get.desc.xml as it broke InviteServiceTest testRejectInvite
32501: ALF-9878 / ALF-11727: Reinstated read-only transaction around invites.get and prevented it from trying to lazily create persons from rejected invites that had previously been deleted by InviteHelper.cleanUpStaleInviteeResources!
32617: ALF-11977 / ALF-11879: IMAP performance
- Fix node batch loading - batch load ContentData to avoid N+1 problem with content properties
- During cache preloading, use distinct transactions for each folder search, thus avoiding blowing the transactional caches
32619: ALF-11977 / ALF-11879: Fixed typo
32652: ALF-11977 / ALF-11879: Deactivate auto-versioning and auditing (and run as system) whilst setting magic IMAP aspect properties
32683: ALF-11978 / ALF-11915: iBatis synchronizes on the ClassInfo class during high concurrency
Similar change made to ibatis ClassInfo.java as was made to mybatis (in 4.0) for ALF-11894
src.diff is diff from new SVN location at http://mybatis.googlecode.com/svn/tags/java_release_2.3.4-726/ibatis-2-core hence the revision number changes
modified the pom to use Java 1.5 (1.6 does not work due to changes in abstract sql packages) and removed a plugin that no longer works
32721: ALF-11913 Search in Explorer does not find documents found by Share
Correct bug introduced by ALF-11435 'support for hidden files'
32735: ALF-12021: Merged PATCHES/V3.4.5 to V3.4
32513: ALF-11720: Merged HEAD to PATCHES/V3.4.5
32330: Merged DEV to HEAD
32207: Fix ALF-11644: AVM cleanup jobs run when WCM is not installed
- Moved scheduled jobs to installable wcm-bootstrap-context.xml
- Also got rid of orphan reaper warnings when running in a cluster (not ALF-11720, but mentioned in it)
32329: Fix ALF-11734: Concurrency conditions not handled correctly for ACL persistence
- Struggled to get reproducible test in code
- If this doesn't fix the problem fully, then at least it'll push it up a level,
however the higher caches already have pessimistic removal of entries, so should be OK
- In the same way, this could fix ALF-11720: WCM: OrphanReaper contention throws error (3.4.x)
32381: Minor follow up on 32329: ALF-11734: Concurrency conditions not handled correctly for ACL persistence
- Pessimistically throw away the node cache entry referencing the ACL
32737: ALF-9878: Reverse merged following revisions from failed hotfix - deferred to 3.4.8
32397: ALF-11727 CLONE - Pending Invite Search doesn't return anything if there's more than 1000 pending invites across all sites.
Return first 200 invitations (similar to 4.0 paging)
Transaction used by the invites.get is now read only so does not force a flush of caches.
32404: ALF-11727 CLONE - Pending Invite Search doesn't return anything if there's more than 1000 pending invites across all sites.
Removed read only transaction from invites.get.desc.xml as it broke InviteServiceTest testRejectInvite
32501: ALF-11727: Reinstated read-only transaction around invites.get and prevented it from trying to lazily create persons from rejected invites that had previously been deleted by InviteHelper.cleanUpStaleInviteeResources!
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32743 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
The type parameters disappeared when viewing resulting javadoc and this made it look confusingly like the class is a shorthand for Map rather than Map of QName to Serializable as it actually is.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32736 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Columns now have a property to describe whether it has been defined as an auto-increment column, e.g. AUTO_INCREMENT for MySQL. The property is persisted in XML reference files, loaded from XML reference files and compared between schemas.
The MySQL reference file has been updated to include autoincrement values.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32711 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Made the backward timestepping work in bounded segments, whereas previously there
was no lower bound causing the database to creak under load and the whole process
to take a long time.
- Seen during benchmark testing as well
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32659 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- Refix ALF-10665: Caches that use @@VALUE_NOT_FOUND@@ are not really immutable
- Add NodeBulkLoader.setCheckNodeConsistency
- Use in a transaction to ensure that the node cache views are consistent with
the database views.
- Increase size of contentDataCache and make it support equals checking
- Details:
32162: Read-through cache changes
32163: TransactionalCache changes to support more efficient consistency guarantees
- 'allowEqualsCheck' property allows cache to do a full equals check against changed shared cache values
- In-transaction option 'setDisableSharedCacheReadForTransaction'. Values are cache in-transaction
and written back at the end of the transaction (subject to collision rules) but the first read will
not go to the shared cache.
- Drop optimistic write-through in read-only transactions; they are equally likely to want to flush
stale data.
- Add simpler logic for mutable and allowEqualsCheck and make sure all conditions are covered by tests
32164: Cache node entity support TransactionalCache's allowEqualsCheck
32165: Add NodeDAO.setCheckNodeConsistency() method
- Allows code to request that node metadata is consistent with whatever view the DB is providing
- Incorporate into node concurrency tests without issue
- Only one cache is affected (nodesCache) and it is enhanced by having 'allowEqualsCheck' to prevent
massive flushing when multiple read transactions are all trying to push data into the shared caches,
particularly during (re)indexing operations.
- Further reduces the cache invalidation messages required in order to maintain consistency across
the cluster
32166: Make Lucene reindex work (trackers and FTS) use enforced node consistency
- bulkLoader.setCheckNodeConsistency() incorporated where 'isReadThrough' is on
32167: SOLR tracking uses NodeDAO.setCheckNodeConsistency() during node metadata retrieval
- Ensures that any stale node metadata does not find its way into indexed SOLR node metadata
32207: Fix ALF-11644: AVM cleanup jobs run when WCM is not installed
- Moved scheduled jobs to installable wcm-bootstrap-context.xml
- Also got rid of orphan reaper warnings when running in a cluster
32208: Better hashcode for NodeVersionKey
32209: RECORD ONLY
32210: RECORD ONLY
32212: Proper fix for ALF-10665: Immutable caches do not respond well to null (=> @@VALUE_NOT_FOUND@@)
- The following caches were incorrectly classed as 'immutable':
propertyValueCache
immutableEntityCache
rootNodesCache
allRootNodesCache
authorityCache
tagscopeSummaryCache
imapMessageCache
- The 'immutable' caches are:
node.aspectsCache
node.propertiesCache
node.parentAssocsCache
- The following caches support equals checks:
node.nodesCache
authorityLookupCache
32213: Fixed getNodeRefStatus(): nodesCache caches deleted entries as well.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32657 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- added some logging capability into ScriptServiceImpl to see if we can catch the problem in the log file. To enable it, add this to log4j.properties:
log4j.logger.org.alfresco.repo.processor.ScriptServiceImpl=warn
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32639 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261