Commit Graph

451 Commits

Author SHA1 Message Date
Andrew Hind
d7f79daba2 ALF-11546 Tracking queries on alf_transaction table do not have an upper bound
- 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
2011-12-16 19:35:21 +00:00
Andrew Hind
b78b070bae Fix for ALF-10153 SQL Server: FK failures across various tests
- added retry for two concurrency issues on adding children

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32768 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-12-14 17:09:45 +00:00
Dave Ward
bcafdc48ad ALF-11957: Fixed merge issues
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32674 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-12-09 13:25:02 +00:00
Dave Ward
658e968320 ALF-11957: Merged PATCHES/V3.4.6 to HEAD
32617: 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-11879: Fixed typo
   32652: ALF-11879: Deactivate auto-versioning and auditing (and run as system) whilst setting magic IMAP aspect properties


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32673 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-12-09 12:54:10 +00:00
Derek Hulley
25382b991f Merged DEV to HEAD: Cache write optimizations
- 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
2011-12-08 23:51:36 +00:00
Dave Ward
90a78359bd Merged V3.4-BUG-FIX to HEAD
31682: Fix for ALF-9504 - Upload non-flash fallback fails
      Merged HEAD to V3.4-BUG-FIX
         31065: Fixed ALF-10407 "Share HTML uploader broken in Swift"
   31738: merged DEV to V3.4_BUG_FIX
     31681 : ALF-7859 - Deployment fails for *.xml content with wcm-xml-metadata-extracter-context.xml enabled
   31755: Fix for ALF-9257: merged in and optimised Belarus fix.
   31775: Fixed ALF-10667: WCM - Validation issue with xf:switch web forms
   31817: Spanish: Updates translations (based on: r31738) & adds new WCM translations.
   31840: Fix for ALF-10282 - Web Browser freezes with large xml files Web form transformation
   31843: ALF-9208 Performance issue, during load tests /share/page/user/user-sites is showing to be the most expensive.
      Modification to AuthorityDAOImpl.findAuthorities(...) to use childAuthorityCache when possible
      Big improvement to 'My Sites'
   31850: Italian: Translation updates, inc. fix for: ALF-11293.
   31867: Merged DEV/TEMPORARY to V3.4-BUG-FIX
      31400: ALF-10764: PDF vs 1.5 cause crash jvm
         - PDFRenderer library has been updated from 2009-09-27 to 0.9.1 version to support PDF documents of 1.5 version
   31906: ALF-9545: Adjust date picker for IE
   31911: Merge PATCHES/V3.3.3 to V3.4-BUG-FIX (3.4.7)
      31905: ALF-10309 CLONE -WebDAV - Cancelling "save as" upload will create 0 byte content
         - Run Timer as the original user
         - Run timer if there is a LOCK timeout (not run if not so not to break standard. MS Office uses a 3 minute timeout)
         - PUT method clears aspect BEFORE it starts processing the content, so that the Timer does not remove the node if the content is very large
         - Delete node faster (than the Timer) if the client issues an UNLOCK, having locked the node but not issued a PUT. 
         - Lots of debug
      31708: ALF-10309 CLONE -WebDAV - Cancelling "save as" upload will create 0 byte content
          'runAsSystem' the 5 minute timer to remove LOCKED but not PUT WebDAV files 
      31698: ALF-10309 CLONE -WebDAV - Cancelling "save as" upload will create 0 byte content
          Added 5 minute timer to remove LOCKED but not PUT WebDAV files 
      31687: ALF-10309 CLONE -WebDAV - Cancelling "save as" upload will create 0 byte content
          Added missing sys:webdavNoContent aspect to system model.
   31913: Merge PATCHES/V3.4.1 (3.4.1.22) to V3.4-BUG-FIX (3.4.7)
      31876: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         Use a retrying non-propagating (new) transaction to get the licence key in order to avoid intermittent issues.
   31929: Merged BRANCHES/DEV/BELARUS/V3.4-BUG-FIX-2011_11_09 to BRANCHES/DEV/V3.4-BUG-FIX
       31903: ALF-9971: RM search doesn't work with NAME:any_text: Check for dublicate template of properties was added. Throws an exception if there is already an entry in the map entry.
   31931: ALF_9678 Fixed null pointer issues in WorkflowManager methods
   31938: Merged DEV to V3.4-BUG-FIX
      31932: ALF-9566: hasMoreItems always false in CMIS query (Web Service binding)
             1. PropertyFilter was fixed to be able to handle OpenCMIS Workbench. Unit test was updated.
             2. hasMoreItems was adopted to indicate whether more itemsa are avliable in the repo based on maxItems and skipCount. Unit test was added.
             3. CMISFolderTypeDefinition was fixed to be fileable according to 2.1.5.1 File-able Objects.
   31965: German: Translation updates and additions based on EN r31738
   31967: French: Translation updates and additions based on EN r31738
   31969: Spanish: : Translation updates and additions based on EN r31738
   31971: Italian: Translation updates and additions based on EN r31738
   31972: Fix for patch 'alternatives': Alternative patch must have executed and not just been marked as successful
   31973: Fixed ALF-11489: 'patch.sitesSpacePermissions' failed on upgrade 2.2.8 -> 3.4.6
    - 'patch.sitesFolder' is an alternative to 'patch.sitesSpacePermissions'
    - Note: Requires rev 31972 for fix to PatchService use of alternatives
   31994: ALF-11495 CLONE - Enterprise unlimited licenses still get invalidated turning the system into read-only mode
      - Replaced DescriptorDAORetryingInterceptor (add in the hotfix) with a RetryingTransactionInterceptor 
   31999: Change the low level CIFS packet reading code to read/process up to 4 requests per thread run. ALF-9540
   Reduces thread blocking when the CIFS client uses overlapped I/O, and also keeps writes in their original sequence.
   32037: Japanese: Translation update, new and modified strings based on EN r31738
   32061: ALF-11376 Requesting PDFBox 1.6 be included in future service pack release. 
      Upgrading pdfbox,fontbox,jempbox from 1.5.0 to 1.6.0
   32074: ALF-11522 IMAP: Generic AlfrescoImapFolderException error is a bit misleading
      "Can't create folder - Permission denied" --> "Cannot perform action - permission denied"
   32086: ALF-9971 RM search doesn't work with NAME:any_text
      - fix to test failure to do with upper case defaultFieldName finding nothing
   32093: Merged BELARUS/V3.4-BUG-FIX-2011_10_13 to V3.4-BUG-FIX (3.4.7)
      Plus a little bit of refactoring to remove duplicate code
      31490: ALF-9817: IE strips exe extension on download file when using download url with ticket parameter in code  
         The "filename" part for "Content-Disposition" header in case of "attachment" for IE
   32115: ALF-11569: Merged V3.3 to V3.4-BUG-FIX
      32108: ALF-11571: Fix new deadlock in NIO CIFSRequestHandler
         - Needed to be able to get a thread safe estimate of the number of registered sessions without synchronizing on m_selector.keys() because a lock is held by the selector whilst waiting
         - Now the session count is maintained by the main thread, which is woken by anything wanting a session count.
   32136: ALF-10412 Nonreducing 100% CPU Uploading Large Files to Share Site Document Library
      Reducing the priority of the async thread pool that is used to perform the transformations so that normal activity (and even garbage collection) is not interrupted by transformations. 
   32143: MERGED 2011_11_09 to V3.4-BUG-FIX
     32133 - ALF-11193 Consumer role cannot Unscribe/subscribe the IMAP folders.
     32137
   32152: Merged BRANCHES/DEV/BELARUS/V3.4-BUG-FIX-2011_10_13 to BRANCHES/DEV/V3.4-BUG-FIX:
      31731: ALF-6275: Discrepancy detected on archived pivot language with EditionService
   32171: ALF-9638: Version2ServiceImpl now freezes aspect specific associations, in line with VersionServiceImpl
   32191: Merged DEV to V3.4-BUG-FIX
      32187: ALF-10884: A file renamed using the web UI still appears in a NFS mount but with NULL stats
             - Timestamp propogation in case of move
             - getPaths() call removed from the NodeMonitor
   32192: Reversed out rev 32143: ALF-11193: Consumer role cannot Unscribe/subscribe the IMAP folders. 
    - Patch is using SearchService
    - Patch doesn't transfer IMAP 'unsubscriptions'
    - Patch will not scale
   32211: Merged V3.4 to V3.4-BUG-FIX
      31914: ALF-10619: Not all container deletions were being honoured during indexing due to deletionsSinceFlushed processing
         - If container B is under container A with a secondary association, and A then B were deleted, then not all of Bs containers were getting masked out - only those in a subtree of A!
         - Now that delete events are fired on every affected node in a cascading delete, we can handle the nodes and containers on an individual basis
      31915: ALF-10619: Prevent possible InvalidNodeRefException during reindexing
         - Handle in childRelationshipEvent() when comparing with 'path generation factor'
   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.
   32327: ALF-11495: Merge V3.4.1 (3.4.1.23) to V3.4-BUG-FIX (3.4.8)
      32326: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         MaxUserLicenseException class was not added to SVN in previous commit
      32325: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         Remove RetryingTransactionInterceptor from around RepositoryDescriptorDAOImpl - not needed any more and caused extra exception if repo was r/o on boot
      32324: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         Addition of message to say temporary problem has gone away
      32323: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         Think I have found the reason for the vanishing licenses.
         License Descriptor can be accessed but the file in the content store cannot be read.
         Tidy up of code to remove TODO messages
         Addition of MaxUserLicenseException
         Additional code to handle possible temporary license outages and recovery
         Addition of more specific exception of invalid content store issue
      32326: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         MaxUserLicenseException class was not added to SVN in previous commit
      32288: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         Fix tests by still failing if we have not loaded a license yet
      32259: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         Ignore exceptions from debug after RepositoryDescriptorDAOImpl Throwable
      32252: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         Addition of logging and keep license live after error
   32343: FIXED - issue ALF-11617: wma file type is mapped to 'video/x-ms-wma' mimetype instead of audio/x-ms-wma'
   Changed the type audio/x-ms-wma
   32346: Fixed query use-case lookup of assoc namespace entity (i.e. should not lazily create)
    - Does not need merging to 4.0, which contains the fixes already
   32349: Merged V3.3 to V3.4-BUG-FIX
      32347: Prevent possible deadlock during subsystem syncing in a cluster
   32352: ALF-11495: Merge V3.4.1 (3.4.1.23) to V3.4-BUG-FIX (3.4.8)
      PLEASE NOTE that ALF-11381 was also merged into V3.4-BUG-FIX in r32327 
      32350: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         Patched version of true license to log RunTimeExceptions and Errors from both ftp and non-ftp LicenseManager verify methods
      32332: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         Cannot throw specific Exception for the file reader issue as returning null is required for FTL
   32356: ALF-11495: Merge V3.4.1 (3.4.1.23) to V3.4-BUG-FIX (3.4.8)
      32355: ALF-11381 Enterprise unlimited licenses still get invalidated turning the system into read-only mode
         TrueLicense missing from classpath.unit.test.extension
   32387: ALF-11617 Correct mimetype for WMA audio (with patch)
   32395: ALF-11004 Workflow Interpreter can now handle transitions with spaces in the name when 'signal' is called.
   32398: ALF-11078: Reinstate maxPermissionChecks logging from ALF-7237
   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
   32433: Merged V3.4 to V3.4-BUG-FIX
      32432: ALF-11743: When RM is installed, admin does not have the appropriate permissions to perform any operations in Alfresco Explorer


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32477 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-12-02 14:25:48 +00:00
Derek Hulley
bd4baa5e98 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


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32381 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-29 11:45:48 +00:00
Derek Hulley
c4c2ea52e9 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)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32329 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-27 09:29:31 +00:00
Matt Ward
4b998a5fdd ALF-11648: Create unit test to run schema comparator, failing upon differences/validation failures
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32243 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-23 15:53:43 +00:00
Matt Ward
f495a69ba9 ALF-11591: Externalise diff/validation messages
system-messages.properties now contains log messages and diff/validation output messages.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32236 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-23 13:16:27 +00:00
Matt Ward
d021543bce ALF-7260: schema validation: ensure outputting UTF-8 and Windows line endings.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32183 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-22 13:16:01 +00:00
Matt Ward
29dadc748a ALF-11518 and ALF-11519: unify separate validation/differences lists and move text generation to Result classes.
ALF-11518: Unify differences and validation results lists
ALF-11519: Move validation/diff result text generation from SchemaBootstrap to result classes.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32110 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-18 18:20:53 +00:00
Nick Burch
1cd461a4cb Merged BRANCHES/DEV/BELARUS/HEAD-ENH-1107 to HEAD:
31986: ENH-1107 : Auditable fix as discussed with Derek, needed when connecting to alfreco sharepoint protocol via Office 2008 for Mac


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32060 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-17 14:24:48 +00:00
Matt Ward
9d1b2cbf9c Fix NPE exposed by RepositoryStartupTest.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32056 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-17 14:00:41 +00:00
Matt Ward
d111a38a56 ALF-11516: Load schema ref. file using same location and mechanism as for db create scripts
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32049 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-17 11:28:07 +00:00
Derek Hulley
b18da4e3cf Batch loading of nodes doesn't pull back deleted nodes; search-NodeService interaction fix
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31998 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-15 16:28:10 +00:00
Matt Ward
f5b08ab073 ALF-11256: SchemaBootstrap must compare running schema against reference dump
Reference schemas (e.g. classpath:org/alfresco/util/schemacomp/reference/PostgreSQLDialect-Reference.xml) are loaded (if present) and the database is compared to that reference schema.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31991 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-15 15:03:22 +00:00
Derek Hulley
d6ffc3d21e Batch loading of nodes doesn't pull back deleted nodes; search-NodeService interaction fix
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31935 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-14 14:34:04 +00:00
Derek Hulley
ae202a3f24 Merged DEV to HEAD
31651: Fixed up concurrency tests: target concurrent aspect adds in addition to numeric property increments
   31652: Ensure DB-based concurrency problems are propagated when updating alf_node (not just optimistic lock detections)
   31823: TransactionalCache provides REPEATABLE READ
          - Values found in shared cache are placed into transactional cache
          - Previously, values could keep changing until first write (READ COMMITTED)
            but now the first read sets the value until it is changed by the current
            transaction
   31825: Minor comment about node version rollover after version=32767
   31826: Immutable node caches: properties, aspects and parent assocs are immutable
          - cache entries are only put but never updated
          - zero cluster overhead for these 3 caches
          - Stale nodeCache detection when reading properties, aspects or parent assocs
          - Added tests to introspect on the caches directly to validate behaviour
          - Ensure that each node gets a single version increment per transaction
   31854: Cater for cm:auditable changes during touchNode()


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31912 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-11 16:37:07 +00:00
Steven Glover
a667dc498a Fix for ALF-10842
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31673 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-03 09:44:36 +00:00
Derek Hulley
aed94742c3 Reversed out revision 31446
- Offending change is: "Touch node and copy node caches *before* writing updated cache entry"
 - Struggling to find a fix for the recent test failures that includes this code
 - This code (or equivalent) will go onto a branch for further investigation


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31543 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-28 13:46:37 +00:00
Derek Hulley
b9c32d6aa5 Performance improvement during property writes
- Touch node and copy node caches *before* writing updated cache entry
 - Added concurrency tests for aspect updates


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31446 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-24 15:57:57 +00:00
Derek Hulley
1dca4cd1fc Fixed ALF-10964: Add back cache for getChildByName
- Originally removed as part of the 'reverse lookup' of parentAssocsCache
 - This cache is NOT clustered; the child target version is checked; requery if necessary
 - NB: Cache misses are NOT cached.  Do do so would mean making the cache clustered.
       It is better to avoid querying for random files that don't exist over and over.
       Add a higher level cache (as is done in CIFS) for that case.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31417 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-22 05:06:15 +00:00
Derek Hulley
36f8874211 Node Archive and Move performance improvements
- This use case uses getPaths() instead of cycleCheck.  This is due to the nature of the archive process, but will
   be changed once cycleCheck is made to happen faster.
 - Efficient child node cache invalidation


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31382 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-20 14:28:13 +00:00
Steven Glover
d053782f25 Fix for ALF-7241:
- patch to mybatis-3.0.4
  - configuration option (property 'mybatis.useLocalCaches') to disable local caches that cause problems with result handlers not returning any results

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31333 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-19 09:01:34 +00:00
Derek Hulley
7c576151bb More tweaks to child assoc queries: NodeDAO client code must opt for sorting of child assocs explicitly
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31332 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-19 00:26:18 +00:00
Derek Hulley
7e27fbd5d8 Rework APIs of new getChildAssocs with result count limit
- Use regular pattern of get -> select in the DAO
 - All getChildren* batching done after the query
 - Unit tests
 - In progress: Added option (low level select only) to constrain by assoc ID


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31318 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-18 13:48:32 +00:00
Derek Hulley
68f462492e Fix for rev 31223: Missing child node cache invalidation call (ALF-10699)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31253 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-16 05:24:06 +00:00
Derek Hulley
039e8c40cc Minor cleanup of unused argument after rev 31223 (ALF-10699)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31252 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-16 04:42:49 +00:00
Derek Hulley
7a134c42bc Removed use of parentAssocsCache reverse lookup for getChildByName()
- Not consistent with secondary parent associations
 - Not able to ensure consistency as child node entries are modified
 - TODO: Examine alternative caching strategy


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31235 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-14 13:32:14 +00:00
Derek Hulley
953af0b5a3 Fixed ALF-10699: Nodes not getting put into new transactions during various operations
- This concludes the bug and more of the node cache refactor
 - This final part contains:
   - parentAssocsCache and other node caches are now immutable (at least for the shared cache)
   - Remove some of the cache double-checks associated with parentAssocsCache
 - TODO: Simplify getNodeRefStatus and replace with cache read-through for index trackers
 - TODO: Node archive performance
 - TODO: Inverse parentAssocsCache is broken, so it needs fixing (minor)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31223 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-14 04:33:44 +00:00
Derek Hulley
c8bdbb0135 Node cache changes (step): aspects are cached using the node's ID-VERSION key
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31178 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-12 15:38:04 +00:00
Derek Hulley
5aaf1ad850 Node cache changes (step): properties and aspects are retrieved with the node's version
- nodePropertiesCache is now keyed by the nodes' Id-VERSION keys
 - prevents old transactions from writing stale properties over latest cache properties
 - TODO: Still need to make the cache immutable, but waiting for aspects and parent assocs to be done


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31140 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-11 14:44:27 +00:00
Derek Hulley
87bee8092d Node cache changes (step): properties and aspects are retrieved with the node's version
- Perform basic node version check when reading properties and aspects from DB
 - This is just the start.  Next step is to change the key of the cache itself.
 - Includes fix for rev 31109: Use setNodeAclId() to set ACL IDs


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31121 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-11 10:58:48 +00:00
Derek Hulley
658c856a2d Use setNodeAclId() to set ACL IDs
- ALF-10699: Nodes not getting put into new transactions during various operations


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31109 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-11 03:56:34 +00:00
Derek Hulley
e2b4f2884d Part of ALF-10699: Nodes not getting put into new transactions during various operations
- Mass ACL updates of primary children now update the version and transaction for the affected nodes


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31108 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-11 03:07:30 +00:00
Dave Ward
c4e5fe30d1 Corrected namespace of SELECT_CHILD_ASSOCS_OF_PARENT_LIMITED
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30800 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-27 12:54:02 +00:00
Dave Ward
2e62d4fb29 Merged DEV/ALAN/SITE_PERF to HEAD
30342: Dev branch for Site performance issues (including rework of AuthorityService.getAuthorities() to use a 'lazy' set and DM indexing rework)
   ALF-9899 Huge share site migration, add group to site and user access site related performance issue.
   ALF-9208 Performance issue, during load tests /share/page/user/user-sites is showing to be the most expensive.
   ALF-9692 Performance: General performance of Alfresco degrades when there are 1000s of sites present
   - ancestor-preloading
   - hasAuthority
   - huge site test
   30370: - Save changed to do with adding childAuthorityCache to AuthorityDAOImpl
   - Increase aspectsTransactionalCache size as it blows up
   30387: Experimental solution to 'cascading reindex' performance problem
   - Now only Lucene container documents for a single subtree are reprocessed on addition / removal of a secondary child association
   - No need to delete and re-evaluate ALL the paths to all the nodes in the subtree - just the paths within the subtree
   - Lucene deltas now store the IDs of ANCESTORs to mask out as well as documents to reindex
   - Merge handles deletion of these efficiently
   - Node service cycle checks changed from getPaths to recursive cycleCheck method
   - Adding a group to 60,000 sites might not require all paths to all sites to be re-evaluated on every change!
   30389: Missed files from last checkin
   30390: Optimizations / fixes to Alan's test!
   30393: Bug fix - wasn't adding new documents into the index!
   30397: Fixed a problem with bulk loading trying to bulk load zero parent associations
   Also tweaked reindex calls
   30399: Correction - don't cascade below containers during path cascading
   30400: Another optimization - no need to trigger node bulk loading during path cascading - pass false for the preload flag
   30404: Further optimizations
   - On creation of a secondary child association, make a decision on whether it is cheaper to cascade reindex the parent or the child, based on the number of parent associations to the child
     - Assumes that if there are more than 5 parent associations, it's cheaper to cascade reindex the parent
     - Add a new authority to a zone (containing 60,000 authorities) - cascade reindex the authority, not the zone
     - Add a group (in 60,000 sites) to a site - cascade reindex the site, not the group
   - Caching of child associations already traversed during cascade reindexing
   - Site creation time much reduced!
   30407: Logic fix: Use 'delete only nodes' behaviour on DM index filtering and merging, now we are managing container deletions separately
   30408: Small correction related to last change.
   30409: Correction to deletion reindex behaviour (no need to regenerate masked out containers)
   - Site CRUD operations now all sub-second with 60,000 sites!
   30410: Stop the heartbeat from trying to load and count all site groups
   - Too expensive, as we might have 60,000 sites, each with 4 groups
   - Now just counts the groups in the default zone (the UI visible ones)
   30411: Increased lucene parameters to allow for 'path explosion'
   - 9 million lucene documents in my index after creating 60,000 Share sites (most of them probably paths) resulting in sluggish index write performance
   - Set lucene.indexer.mergerTargetIndexCount=8 (142 documents in smallest index)
   - Increased lucene.indexer.maxDocsForInMemoryMerge, lucene.indexer.maxDocsForInMemoryIndex
   30412: Test fixes
   30413: Revert 'parent association batch loading' changes (as it was a bad idea and is no longer necessary!)
   - Retain a few caching bug fixes however
   30416: Moved UserAuthoritySet (lazy load authority set) from PermissionServiceImpl to AuthorityServiceImpl
   30418: - Remove 'new' hasAuthority from authorityService so it is back to where we started.
   - SiteServiceHugeTest minor changes
   30421: Prevent creation of a duplicate root node on updating the root
   - Use the ANCESTOR field rather than ISCONTAINER to detect a node document, as the root node is both a container and a node!
   30447: Pulled new indexing behaviour into ADMLuceneIndexerImpl and restored old behaviour to AVMLuceneIndexerImpl to restore normal AVM behaviour
   30448: - Cache in PermissionServiceImpl cleared if an authority container has an association added or removed
     Supports the generateKey method which includes the username
     Supports changes in group structures
   - Moved logic to do with ROLE_GUEST from PermissionServiceImpl to AuthorityServiceImpl 
   30465: - Tidy up tests in SiteServiceTestHuge 
   30532: - Added getContainingAuthoritiesInZone to AuthorityService
     - Dave Changed PeopleService.getContainerGroups to only return groups in the DEFAULT zone
   - Fixed RM code to use getAuthoritiesForUser method with just the username again.
   30558: Build fixes
   - Fixed cycleCheck to throw a CyclicChildRelationshipException
   - More tidy up of AVM / ADM indexer split
   - Properly control when path generation is cascaded (not required on a full reindex or a tracker transaction)
   - Support indexing of a 'fake root' parent. Ouch my head hurts!
   30588: Build fixes
   - StringIndexOutOfBoundsException in NodeMonitor
   - Corrections to 'node only' delete behaviour
   - Use the PATH field to detect non-leaf nodes (it's the only stored field with which we can recognize the root)
   - Moved DOD5015Test.testVitalRecords() to the end - the only way I could work out how to get the full TestCase to run
   30600: More build fixes
   - Broadcast ALL node deletions to indexer (even those from cascade deletion of primary associations)
     - Allows indexer to wipe out all affected documents from the delta even if some have already been flushed under different parents by an intricate DOD unit test!
   - Pause FTS in DOD5015Test to prevent intermittent test failures (FTS can temporarily leave deleted documents in the index until it catches up)
   - More tidy up of ADMLuceneIndexerImpl
     - flushPending optimized and some unnecessary member variables removed
     - correction to cascade deletion behaviour (leave behind containers of unaffected secondary references)
     - unused MOVE action removed
     - further legacy logic moved into AVMLuceneIndexerImpl
   30620: More build fixes
   - Cope with a node morphing from a 'leaf' to a container during its lifetime
   - Container documents now created lazily in index as and when necessary
   - Blank out 'nth sibling' field of synthesized paths
   - ADMLuceneTest now passes!
   - TaggingServiceImplTest also passes - more special treatment for categories
   30627: Multi tenancy fixes
   30629: Possible build fix - retrying transaction in ReplicationServiceIntegrationTest.tearDown()
   30632: Build fix - lazy container generation after a move
   30636: Build fix: authority comparisons are case sensitive, even when that authority corresponds to a user (PermissionServiceTest.testPermissionCase())
   30638: Run SiteServiceTestHuge form a cmd line
      set SITE_CPATH=%TOMCAT_HOME%/lib/*;%TOMCAT_HOME%/endorsed/*;%TOMCAT_HOME%/webapps/alfresco/WEB-INF/lib/*;\
                     %TOMCAT_HOME%/webapps/alfresco/WEB-INF/classes;%TOMCAT_HOME%/shared/classes;
      java -Xmx2048m -XX:MaxPermSize=512M -classpath %SITE_CPATH% org.alfresco.repo.site.SiteServiceTestHuge ...
   
      Usage: -Daction=usersOnly
             -Dfrom=<fromSiteId> -Dto=<toSiteId>
             -Dfrom=<fromSiteId> -Dto=<toSiteId> -Daction=sites  -Drestart=<restartAtSiteId>
             -Dfrom=<fromSiteId> -Dto=<toSiteId> -Daction=groups -Drestart=<restartAtSiteId>
   30639: Minor changes to commented out command line code for SiteServiceTestHuge
   30643: Round of improvements to MySites dashlet relating to huge DB testing:
    - 10,000 site database, user is a member of ~2000 sites
    - Improvements to site.lib.ftl and related SiteService methods
    - To return MySites dashlet for the user, order of magnitude improvement from 7562ms to 618ms in the profiler (now ~350ms in the browser)
   30644: Fixed performance regression - too much opening and closing of the delta reader and writer
   30661: More reader opening / closing
   30668: Performance improvements to Site Finder and My Sites in user profile page.
    - faster to bring back lists and site memberships (used by the Site Finder)
    - related further improvements to APIs used by this and My Sites on dashboard
   30713: Configuration for MySites dashlet maximum list size
   30725: Merged V3.4-BUG-FIX to DEV/ALAN/SITE_PERF
      30708: ALF-10040: Added missing ReferenceCountingReadOnlyIndexReaderFactory wrapper to IndexInfo.getMainIndexReferenceCountingReadOnlyIndexReader() to make it consistent with IndexInfo.getMainIndexReferenceCountingReadOnlyIndexReader(String, Set<String>, boolean) and allow SingleFieldSelectors to make it through from LeafScorer to the path caches! Affects ALL Lucene queries that run OUTSIDE of a transaction.
   30729: Use getAuthoritiesForUser rather than getContainingAuthorities if possible.
   SiteServiceTestHuge: command line version
   30733: Performance improves to user dashboard relating to User Calendar 
    - converted web-tier calendar dashlet to Ajax client-side rendering - faster user experience and also less load on the web-tier
    - improvements to query from Andy
    - maximum sites/list size to query now configurable (default 100 instead of previously 1000)
   30743: Restore site CRUD performance from cold caches
   - Introduced NodeService.getAllRootNodes(), returning all nodes in a store with the root aspect, backed by a transactional cache and invalidated at key points
   - Means indexing doesn't have to load all parent nodes just to check for 'fake roots'
   - Site CRUD performance now back to sub-second with 60,000 nodes
   30747: Improvement to previous checkin - prevent cross cluster invalidation of every store root when a single store drops out of the cache
   30748: User dashboard finally loading within seconds with 60,000 sites, 60 groups, 100 users (thanks mostly to Kev's UI changes)
   - post-process IBatis mapped statements with MySQL dialect to apply fetchSize=Integer.MIN_VALUE to all _Limited statements
      - Means we can stream first 10,000 site groups without the MySQL JDBC driver reading all 240,000 into memory
   - New NodeService getChildAssocs method with a maxResults argument (makes use of the above)
   - Perfected getContainingAuthoritiesInZone implementation, adding a cutoff parameter, allowing only the first 1000 site memberships to be returned quickly and caches to be warmed for ACL evaluations
   - New cache of first 10,000 groups in APP.SHARE zone
   - Cache sizes tuned for 60,000 site scenario
   - Site service warms caches on bootstrap
   - PreferencesService applies ASPECT_IGNORE_INHERITED_RULES to person node to prevent the rule service trying to crawl the group hierarchy on a preference save
   - WorkflowServiceImpl.getPooledTasks only looks in APP.DEFAULT zone (thus avoiding site group noise)
   30749: Fix compilation errors
   30761: Minor change to SiteServiceTestHuge
   30762: Derek code review: Reworked fetchSize specification for select_ChildAssocsOfParent_Limited statement for MySQL
   - Now fetchSize stated explicitly in a MySQL specific config file resolved by the HierarchicalResourceLoader
   - No need for any Java-based post processing
   30763: Build fix: don't add a user into its own authorities (until specifically asked to)
   30767: Build fix
   - IBatis / MySQL needs a streaming result statement to be run in an isolation transaction (because it doesn't release PreparedStatements until the end)
   30771: Backed out previous change which was fundamentally flawed
   - Resolved underlying problem which was that the select_ChildAssocsOfParent_Limited SQL string needs to be unique in order to not cause confusion in the prepared statement cache
   30772: Backed out previous change which was fundamentally flawed
   - Resolved underlying problem which was that the select_ChildAssocsOfParent_Limited SQL string needs to be unique in order to not cause confusion in the prepared statement cache


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30797 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-27 12:24:57 +00:00
Derek Hulley
a87c7cb605 Further fix on HEAD following rev 30520: Revisited timestamp propagation (cm:modified)
- Added missing override of cm:auditable properties in 'touch' method


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30617 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-19 19:45:30 +00:00
Derek Hulley
fb406b769b Merged V3.4-BUG-FIX
30520: Revisited timestamp propagation (cm:modified) now that the system does this by default
          - Original low-level code (Hibernate optimizations) pulled back into NodeService implementation
          - Use case driven prompting to touch the parent node
          - Full indexing and policy callbacks against parent (was missing completely)
          - Optimizations to ensure parent node modifications are only done where required and
            the same transaction is used where possible
          - 1s accuracy limit is maintained to prevent unnecessary modifications
          - Enhanced tests to cover use cases where propagation is expected
            - ALF-10262: Timestamp propagation is enabled by default
          - Fixes or will fix:
            - ALF-10291: Test disabled: SOLRTrackingComponentTest (various)
            - ALF-7433: A file deleted using the web UI still appears in a NFS mount but with NULL stats
            - ALF-10271: Test disabled: ArchiveAndRestoreTest.testAR7889ArchiveAndRestoreMustNotModifyAuditable
            - ALF-10267: Test disabled: NodeServiceTest.testArchiveAndRestore
         Also
          - Found problem where cm:auditable properties could be modified directly against the cached values
          - Extended locking of cached entities to the AuditablePropertiesEntity


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30598 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-19 11:30:56 +00:00
Steven Glover
69d5e091e0 Fix for ALF-10189:
o Alfresco key store manages keys and backup keys internally
  o moved key registration and checking into AlfrescoKeyStoreImpl
  o encryptor thread cache fix resulting from reload of key stores at runtime
  o more encryption and key store tests
  o tidy up + more comments
  o moved hard-coded values to properties file

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30405 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-11 12:09:24 +00:00
Derek Hulley
62ea9bf571 Fixed cm:auditable setting not being pushed the DB
- Changes were being put into the cache but missing an update trigger to push to the DB
 - Fixes ALF-10224: Test disabled: GetChildrenCannedQueryTest.testPropertySorting


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30386 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-09 13:37:35 +00:00
Derek Hulley
e03abe5d16 Efficiencies during low-level setting of cm:auditable properties (found during ALF-10224 investigation)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30383 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-09 13:23:54 +00:00
Derek Hulley
676056b4bd AuditDAO test applications have GUID names; timestamp names may have caused overlap
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30329 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-08 04:45:16 +00:00
Derek Hulley
4f00e67d91 Added extra sleeps to ensure timestamp separation in tests (ALF-10024)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30301 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-07 11:22:06 +00:00
Derek Hulley
7ae714dcb9 Fix for timestamp propagation during store move events
- Timestamps don't propagate during store move because the source node
   is always deleted and therefore disappears
 - Fixed ALF-10201: Test disabled: ChannelServiceImplIntegratedTest


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30284 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-07 03:51:37 +00:00
Dave Ward
cb4a571fa1 Merged V3.4-BUG-FIX to HEAD
29870: ALF-9952: Compatibility fix to allow mounting of Alfresco WebDAV as a network drive on Windows XP (without WebDrive)
   29872: Fixed ALF-7698 "Defects in tags picker in SHARE."
   - now checks added items to avoid duplicates
   29873: Made sure the onActionDetails doclib action generates SimpleDialog instance ids each time, to avoid multiple js class instances with the same id getting called for every dialog created.
   29878: ALF-9378: Use caching plus a read write lock, in a similar manner to ALF-7064, to avoid contention in SubsystemProxyFactory under load
   29881: Added helper text for the translators to the property file.
   29910: ALF-7433: a file deleted using the web UI still appears in a NFS mount but with NULL stats
   - timestamp propagation now enabled by default so NFS always works
   - timestamp propagation less agressive - only has to propagate on adds / deletes and renames
   29911: Values for recurrence strings updated now that I've read RFC-2445
   29944: ALF-9988: Merged PATCHES/V3.3.4 to V3.4-BUG-FIX
      28581: ALF-8944: Corrected sort parameter handling for datetime fields, based on analyzer and tokenization mode
   29955: Fixed ALF-9965: Property names matching fails if the property contains non Alphanumeric characters
   29956: Fixed ALF-9424: Webform(XSD): xf:switch switch group does not work based on "complexContent with Base" element.
   29964: Fixed ALF-9089: TinyMCE convert_fonts_to_spans parameter is not being picked up in Web Forms
   29977: L10N Updates from Gloria (based on rev29838).
   29980: Ignore virtual tomcat directory
   29981: Merged BRANCHES/DEV/BELARUS/V3.4-BUG-FIX-2011_08_19 to BRANCHES/DEV/V3.4-BUG-FIX 
       ALF-6808 : Incorrect Search Language Conversion for wild card characters (%, _) for MS SQL 
   29984: ALF-4753: Fix search query escaping in Alfresco Explorer
   - AWC-1743 / CHK-2171 fix restored
   29993: Merged DEV/TEMPORARY to V3.4-BUG-FIX
      29989: ALF-9976: WebDAV Class 2 compliance issue with OPTIONS response.
         Class 2 incompliance connected with absence of 'PROPPATCH' method in the 'Allow' response header has been fixed
   30009: ALF-7239 : Documents from Records Manager cannot be viewed in Outlook   
   30012: Merged BRANCHES/DEV/BELARUS/V3.4-BUG-FIX-2011_08_19 to BRANCHES/DEV/V3.4-BUG-FIX:
      29986: ALF-7105: pdfbox returns errors in the logs but one cannot understand what file is affected (PDFBox)
   30014: ALF-6284: Fix for Share Kerberos SSO Websphere compatibility (by Pavel)
   30016: Merged DEV to V3.4-BUG-FIX
      29424: ALF-8715: NFS: Admin sometimes cannot edit content uploaded via JSF
             Fix for "Can't open file for writing" during saving file in VI-like editors connected with FileExpiry daemon:
             - 'getNodeOrNull()' method extracted to get and check on existence of the cached file object
                and then update cache timeout or remove it from the cache;
             - 'getNodeForPath()' was appropriately updated in accordance with logic extracted to 'getNodeOrNull()';
             - 'fileExists()' method was corrected to take into account existence of the cached file object 
   30017: Reverses an accidental check in made with the last L10N bundle update (r29977)
   30045: ALF-8664 - Custom 'mandatory' RM metadata causes editing issues   
   30053: ALF-9681: webScriptsRegistryCache size in ehcache-default.xml   
      webScriptsRegistryCache maxElementsInMemory size was incremented up to 1000
   30079: ALF-10027: Fix template alfresco-global.properties for custom tomcat ports
   - Obselete web.application.context.url removed
   - alfresco.host, alfresco.port, share.host and share.port added
   30080: Fixed parse error mentioned in ALF-9511 "RSS Feeds with HTTP Auth doesn't work with Feed dashlet"
    - In java regexps the . (dot) does NOT include the \r or \n by default, to change that a (?s) instruction was added in the beginning of the regexp
   30083: Fixed ALF-10048 "Multiple thumbnails in RSS feeds causes problem for RSS Feed dashlet"
   30088: ALF-7433: Fix unit test fallout from new timestamp propagation behaviour
   30089: ALF-7433: Further unit test fallout from new timestamp propagation behaviour
   - testPermissionsAndPolicies needs to get folder modification date in a distinct transaction after populating it
   30091: ALF-10050: CIFS: Coordinator is unable to delete content after IMAP has been enabled
   - Transactional cache null entry issue
   30096: ALF-9793: Allow auto-created NFS authenticated users to work
   - Also removed admin from default mappings to avoid security hole
   30102: ALF-8723 CIFS on Windows fails to start under certain conditions
      - Found another place >= was required rather than just >
   30104: ALF-9890 SiteService is not producing audit data.
      - Internal siteService rather than public SiteService was being used, so there was no audit advice.
   30119: ALF-9793: Fallout from previous fix. Prevent initialization error when there are no user mappings and NFS is not enabled.
   30120: ALF-9526: Work around the fact that Websphere ignores the response encoding unless you call response.setCharacterEncoding()
   - GlobalLocalizationFilter inserts a response wrapper that parses the charset parameter from the content type header, if it is present
   30121: ALF-9535: Alfresco ignores Accept-Language sent from Share
   - Ticket and webscript authentication (i.e. Share requests) will use the language set in request headers as the session language
   30130: ALF-10049: Fix by Andrey to enable Flash upload on Weblogic!
   30141: ALF-8732 Now if the adhoc workflow throws exceptions while sending a notification email then those exceptions are ignored.
   30226: ALF-9415: JSF - Copy/Paste vs Cut/Paste add aspect rule.
   30242: Added NodeService.getNodeRef(Long nodeId)
    - First step to remove Lucene search from inbound email server
    - Done while investigating ALF-9660
   30243: Fixed ALF-9660: Inbound emails are always stored with encoding=UTF-8 regardless the encoding the email client uses.
    - If the encoding is provided, then it is not guessed
    - Includes tweak to remove Lucene search and rather use direct node ID-NodeRef translation provided by NodeService
   30263: Incremented version revision
   30264: ALF-10187: Merged V3.3 to V3.4-BUG-FIX
      30003: ALF-9898: More defensive exception handling to avoid packet pool leaks and extra logging on packet pool exhaustion
   30265: Merged V3.4 to V3.4-BUG-FIX
      30259: ALF-6527 LangPack FR - [Search results' page] Incorrect label when search matches results
        - Added "(s)" to "trouvé(s) dans l'entrepôt."   (for a repository search - found in retest)
        - The original change:
          Added "(s)" to "trouvé(s) dans tous les sites."   (for an All Sites search)
          
          However this leaves the current site search. As a result I also:
          Added "(s)" to "trouvé(s) dans le site {0}."  (for a current Site search)
          and checked with a French speaker that this would sound correct.
          
          Note: all three labels are prefixed by a separate text label: "N résultat(s) "
      30261: (RECORD ONLY) Merged V3.4-BUG-FIX to V3.4 (3.4.5)
      30262: ALF-10186: Merged PATCHES/V3.4.1 to V3.4
         30126: ALF-10075: Concurrency during CMIS document update causes content stream to close prematurely.
            - Created BufferedRequest request wrapper in RepositoryContainer
            - If the content stream is accessed directly it is streamed to a temporary file so that requests can be retried
         30137: ALF-10075: Fixed NPE


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30271 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-06 16:14:53 +00:00
Matt Ward
ee3c402701 ALF-10024: audit script not working correctly if auditFromTime parameter is null
* separated deletion into two: delete_auditEntries and delete_auditEntriesById
* fixed where clauses
* created tests for: deletion of an application's audit items with null fromTime; deletion of an application's audit items between specified times; deletion of all applications' audit items between specified times.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30258 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-06 11:39:13 +00:00
Derek Hulley
1b2e8c53ec Fixed compilation error from 30162. Mixing fixes
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30163 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-02 03:53:35 +00:00
Derek Hulley
9e84d86ec5 Fixed ALF-10061: NodeService.getAssoc() throws an exception if the requested association does not exist
- CMIS expects to get null (as per NodeService javadoc) but it was generating a concurrency exception
 - Added a specific call to getNodeAssocOrNull to the DAO


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30162 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-02 03:23:06 +00:00