31489: Fix MT NodeRef translation in policy filter (ALF-10178)
31452: Sync DEV branch with HEAD
30312: Reintegrated HEAD
30281: Comprehensive DEBUG logging to track behaviour enable/disable states for transactions
- Part of ALF-10178: BehaviourFilter fails when nesting disable/enable calls
30280: Fixed importer's use of behaviour filter
- The change in the BehaviourFilter contract means that all disable calls must be matched
with an equivalent enable call. Enabling globally no longer wipes out vetos put in place
by other code.
- Part of ALF-10178: BehaviourFilter fails when nesting disable/enable calls
30279: Removed unnecessary behaviour enablement checks is VersionService (ALF-10178)
30278: Fixed behaviour re-enabling for StoreSelectorAspectContentStore (ALF-10178)
30240: Fixed ALF-10178: BehaviourFilter fails when nesting disable/enable calls
- Behaviour enable/disable now uses reference counting to check the state of different behaviour levels
- Added unit test to test
- Re-enabled test for ALF-10177: Test disabled: CheckOutCheckInServiceImplTest.testalfrescoCheckoutDoesntModifyNode
but renamed to CheckOutCheckInServiceImplTest.testAlfrescoCheckoutDoesNotModifyNode
- Going into DEV branch to run through tests
30236: Branch for fixing BehaviourFilter nesting
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31619 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- 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
- 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
- fixed performance regression since fix for ALF-3756 - actually due to some madness inside java.util.Locale as it hilariously calls String.intern() for every new instance - which we were now creating on every method intercepted
- added a helper to I18NUtil to retrieve just the lang of the locale (as used by the interceptor) which is only done once per thread like the usual locale management
- modified the interceptor to only actually retrieve the locale at all if it's going to use it for something, as some code paths do not
- in example of retrieving list of 1000 sites, CPU time (sampler) for String.intern() calls (previouslytop of method hotspot list) is down 75%
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31383 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- 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
30947: ALF-10619: Merged PATCHES/V3.1.2 to V3.4-BUG-FIX
30884: ALF-10588: Another possible race condition resulting in out of sync transactions - found on SQL Server and JBoss in 3.1.2
- FTS could process updated and deleted nodes in the same transaction before the tracker got to them, leaving behind the correct transaction ID and deleted nodes but undeleted container docs!
- We now have to validate all deletions have been honoured when index tracking
30890: ALF-10588: Temporarily disable FTS during IndexCheckServiceImplTest
- Otherwise can get confused by intermediate FTS state of its own nodes!
30894: ALF-10588: Correction to deletion checking
- Only search for deleted nodes, not updated ones too!
30948: ALF-10619: Fixed merge issue
30982: - ALF-10503 60k Site Performance: Admin Console | Groups: search with a value that matches all 60 groups: maxClasuesCount=10000
- ALF-10511 60k Site Performance: Admin Console | Users | Edit User | Group Search with a value that matches all 60 groups: maxClauseCount=10000
- ALF-10608 60k Site Performance: Searching for a group to add to a site with a value that matches all 60 groups: maxClauseCount=10000
- ALF-10515 60k Site Performance: Edit Group Display Name: The first time, nothing appears to happen for 10 seconds after pressing [Save]
- ALF-10514 60k Site Performance: Admin Console | Groups | Search | Delete Group: no feedback to user for 20 seconds after clicking delete icon
30985: Increases in node, property and aspect caches.
30987: Merged DEV/TEMPORARY to V3.4-BUG-FIX
30984: ALF-9880 : ContentGet web script throws NullPointerException for nodes missing cm:modified property
The check for null was added for cm:modified property (similar to BaseDownloadContentServlet).
30995: Fix for ALF-9021
30996: ALF-10324 Cannot disable Home Folder Creation
- Bug introduced into V3.1 on the 8 March 2010
- ChainingUserRegistrySynchronizerTest enhanced to check for this
- Fix to PersonService: Home folder was not being created for 'missing' persons
- PersonService: Changed autoCreate parameters to more descriptive names (okay long) and updated Javadoc
30998: ALF-10512 60k Site Performance: Clicking on Sites (left hand side) in the Repository browser causes transactional limit to be reached
- Changed node, aspect, property and parentAssoc cache sizes (based on Derek's Skype message)
31006: ALF-10512 60k Site Performance: Clicking on Sites (left hand side) in the Repository browser causes a transactional limit to be reached
- Having changed cache sizes in previous commit, the nodeOwner and acl transactional caches were then blown with test case for ALF-10512
Changed to 20k from 10k. Tried 15k but it still had a problem.
31052: Fix for ALF-10520
Merged HEAD to V3.4-BUG-FIX
31051: Performance improvements for Share Repository browser queries.
DB with ~50,000 nodes under Company Home:
Before:
- I'm Editing - 16 secs, Favorites - 17 secs, Tag - 14 secs
After:
- I'm Editing - 1.5 secs, Favorites - 1.2 secs, Tag - 1.25 secs
31058: ALF-10324 Cannot disable Home Folder Creation
- ChainingUserRegistrySynchronizerTest check using personService with both eager and non eager home folder creation
31064: ALF-9360: Merged PATCHES/V3.4.4 to V3.4-BUG-FIX
30244: Merged DEV/DAVEW/IMAP_NEW to PATCHES/V3.4.4
29635: Rework of IMAP to use lightweight caching and correctly set UIDVALIDITY, NEXTUID and Marked / Unmarked state
29668: 1. Changed get AlfrescoImapFolder.getFullNameInternal to be dynamic for cache support
29692: 1. Reverts changed in AlfrescoImapServer to allow ImapHostManager to be a session key for folder.
2. getFlags relies on FileInfo.getProperties()
29741: 1. Changed AbstractMimeMessage.updateMessageId() to follow RFC2822 (3.6.4. Identification fields)
2. Changed ImapServiceImpl to handle absent folders and return "NO" reply to a client.
3. Changed ImapServiceImpl that behaviours don't fail when Alfresco is being first time bootstrapped with IMAP enabled.
4. Cleared AlfrescoImapFolder constructor.
5. Fixed SelectCommand's response to adhere RFC3501 (6.3.1. SELECT Command)
6. Fixed CommandParser to be able parse the flag which is not surrounded by braces (STORE 2:4 +FLAGS \Deleted)
30235: Completion of IMAP rework
- Scalable caching
- Proper transactional cache for assembled messages
- No more assumption that EHcache will always hold entire folder set at once (and perhaps it can't)
- Per session (TCP connection) cache of accessed folders
- Session cache validation via a 'change token' that is incremented on all significant events
- Folder status attributes evaluated once and reused until the change token changes
- Now only changed folders need to be queried on an IMAP sync and the server doesn't have to hold all folders in memory
- User's view is consistent with their security permissions
- Simplification / overhaul of ImapServiceImpl including efficient recursive path building and matching
- AlfrescoImapFolder immutable as it should be
- Greenmail fixes
- Fixed quoting of mailbox names
- Fixed hanging problem in ImapRequestLineReader - regression caused by our 8 bit encoding fix. Avoid using an InputStreamReader to read ISO-8859-1 bytes as it has an internal buffer.
30275: Fix failing IMAP tests broken by my recent refactor!
- Fixed greenmail conversion of ISO-8859-1 bytes to chars
- Transaction read write attributes on service
- Read only commands on AbstractImapFolder
- Imap aspect properties must be managed as SYSTEM user
- Restored persistence of new mail messages
- Avoid unit test txn rollback woes by making it possible to check for existence of a path with FileFolderService
30487: ALF-10268: Merged V3.4-BUG-FIX to PATCHES/V3.4.4
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
30540: ALF-10257: Fixed logic error introduced into Greenmail ImapRequestLineReader
30988: ALF-9361: Merged DEV/DAVEW/IMAP_NEW to PATCHES/V3.4.4 (by Arseny)
30419: Remote test for generic client request sequence.
30547: 1. A bug with FetchCommand particularly with FETCH (BODY.PEEK[1]) with an error
1315912197.789640 1.5 NO FETCH failed. java.lang.String cannot be cast to javax.mail.internet.MimeMultipart
This happened while message content is being proceeded like MimeMultipart mp = (MimeMultipart) mimeMessage.getContent();, but javadoc of mimeMessage.getContent() says that this content can be a String in case of non-multipart message. Fixed FetchCommand accordingly to mimeMessage.getContent() javadoc.
2. A bug with RFC822MetadataExtracter
When mimeMessage.getHeader("received"); is used with the message with following header
Received: with ECARTIS (v1.0.0; list dovecot); Tue, 06 Aug 2002 13:01:17 +0300 (EEST)
It doesn't extract a date, because it uses lastReceived.indexOf(';') which returns the position IN the ECARTIS (v1.0.0; list dovecot) after v1.0.0,
So it should use lastReceived.lastIndexOf(';') to get the position after ECARTIS (v1.0.0; list dovecot).
31025: ALF-9361: IMAP Performance
- Introduced folder status MRU cache
- Keyed by user ID and change token so no need to cluster
- Now means we should get reuse across IMAP sessions
- Also fixed isMarked() implementation to only return true if there are recent or unseen mails
31038: ALF-9361: Prevent the starting of unnecessary transactions in AlfrescoImapFolder interface
- getFolderStatus regulates its own transaction
- Dropped all those *Internal methods from the abstract class
- getUnqualifiedMailboxPattern moved to AlfrescoImapHostManager
- Fixes to session folder cache validation / reuse
31039: ALF-9361: Repository tuning for IMAP performance
- Backed out ALF-5575 60 second timeout on node caches - Should be covered by ALF-8607 fix
- Also made TransactionalCache.NewCacheBucket save new values to the shared cache for 'mutable' caches. Previously it was only possibly to load into the node caches in a read only transaction!
- Also added fix to make AbstractNodeDAOImpl bulk load empty node aspect sets
- Result is a drastic speedup of full sync times as most items can be served from the cache`
31042: ALF-9361: Fix ImapServiceImplTest
31048: ALF-9361: Make ConcurrentNodeServiceTest work again, after relaxation of 'mutable' transactional caches
- aspect and property caches validated by node transaction ID, as per parent assocs in ALF-8607
31050: ALF-9361: Caching correction
Always use the cached mailbox reference if it is equivalent (because the session remembers the last selected mailbox)
31060: ALF-9361: Fix CacheTest, following back out of ALF-5575 behaviour
31061: ALF-9361: More caching fixes
31062: ALF-9361: Undo accidental changes to ConcurrentNodeServiceTest
31063: ALF-9361: Build fix: replaced assertSame with assertEquals
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31079 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
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
30270: ALF-9492 Can now update task properties through the Workflow JavaScript API. ALF-10087 Fixed failing Multi-tenancy tests.
30306: Fixed ALF-7384: Xam: XamArchiveCleaner can delete files before retention period has passed
- Keep the NOW upper limit to the query
- Add a double-check using Java code to precisely check (down to the ms) that the retention time has passed
30308: Merged V3.4 to V3.4-BUG-FIX
30307: ALF-10186: Fix up all code that expects it can cast a WebScriptRequest directly into a WebScriptServletRequest
30310: ALF-5830 show_audit.ftl template doesn't work any more
- Changes to support new audit api
- Works with high level content auditing
30337: Merge DEV to V3.4-BUG-FIX
30160 : ALF-9257 - Renaming web project cause no trigger of the autodeploy process
30362: ALF-10227 Add space after ''{0}'' in text
30395: Removed deep svn:mergeinfo
30433: Merged DEV/TEMPORARY to V3.4-BUG-FIX
30424: ALF-8941: WCM: Virtual server setting lazyDeployExperimentalOnly ="true" (as per si3 fix) fails to load library under WEB-INF/lib directory (for HTTP filter).
Walk up by hierarchy to the root and deploys a context if it wasn't deployed yet, through invocation of updateAllVirtualWebapps recursively.
30454: Fixed ALF-9158: Assignment of workflow task is not proper - out-of-the-box WCM workflow
30466: Merged DEV/TEMPORARY to V3.4-BUG-FIX
30460: ALF-9424 : Webform(XSD): xf:switch switch group does not work based on "complexContent with Base" element.
Schema2XForms and SchemaUtil were modified to allow correctly process elements with namespace that differ from "http://www.w3.org/2001/XMLSchema"
30476: Merged DEV to V3.4-BUG-FIX
30474: ALF-10021: Get the last node in the resultset outside the timing loop to force prefetch.
30483: Fixed ALF-9417: (pdf2swf) Share preview is blank with some pdf files.
30514: ALF-240: Unfriendly error appears when trying to view details for created discussion for multilingual content
Webdav URLs were not valid for non-ML or ML discussion items, but were only stopping the details page for the ML items from being shown. Utils.generateURL now returns null for such items.
30517: Fixed ALF-5526: Component-Generator for d:noteref and other "system" types always disabled => breaks extensibility
30519: FileFolderService moveFrom method was not supported by MLTranslationInterceptor
30527: ALF-240: added missing exception message.
30531: Fixed ALF-9599: Share forms do not allow edit of non-cm:content nodes
30541: ALF-9424: Missed change, causing compilation error
30552: Tests to accompany fix for ALF-240, ALF-10298: discussion topic webdav URLs causing error page in explorer.
30565: Fixed ALF-10336 "Drag and Drop item in Customize Site Dashboard - text of item reverts to default font style and size during drag operation"
30568: Fixed ALF-10342: ClassCastException on org.alfresco.repo.copy.AbstractCopyBehaviourCallback
30570: ALF-3332: (circa 2008) Pagination inks rewritten incorrectly by opensearch proxy
30574: ALF-9470: OwnableService cache not being updated for archived nodes - modified fix by Pavel
30579: ALF-5607: Cancelling of install. Some directories are not deleted from disk.
- Fixed provided by Bitrock for Mac and Windows
30583: Merged HEAD to V3.4-BUG-FIX (Back ported 2 fixes for included resource handling when running unit tests)
28711: Avoid a NPE on certain kinds missing included resources, and instead give a helpful error along the lines of other include issues
28716: When loading JS includes with a full classpath reference, handle the Eclipse classloader behaving slightly differently on absolute paths compared to the JVM one
30648: Fixed ALF-10401: No simple way to disable auto-versioning behaviour
- Added property: version.store.enableAutoVersioning=true
- When set to 'false', the VersionableAspect will not respond to any events;
even if the aspect is present, it will not create versions.
30657: Merged DEV/TEMPORARY to V3.4-BUG-FIX
30590: ALF-7105: pdfbox returns errors in the logs but one cannot understand what file is affected (PDFBox)
Level log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal was introduced in log4j.properties.
30669: Fixes: ALF-6470 (Updates FR translation)
30686: ALF-1017: Fixed compilation error in backport
30696: Fix for ALF-8176
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.
30722: Fixed ALF-9465: Share: We can add category in Share, but the selected value will not be shown in U.I.
30724: Merged BRANCHES/DEV/BELARUS/V3.4-BUG-FIX-2011_09_05 to BRANCHES/DEV/V3.4-BUG-FIX:
30603: ALF-10165: Unexpected behaviour when title duplicated between web forms
30754: Fix for ALF-9899 Huge share site migration, add group to site and user access site related performance issue.
- generic performance improvements for PATH queries ending "..../*" - specifically to improve listing calendar items for users in many share sites
30765: Fix for ALF-760 - import loses category association data
30779: Merged V3.4 to V3.4-BUG-FIX
30716: ALF-10452 It's impossible to edit existing user details
- Change for ALF-371 did not handle the simplest case - no change of home folder location
30549: Fixes ALF-9534 - Location API
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30780 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- NOTE: this fix means that any existing publishing channels in the repo will cease to work and will cause the publishing generally to have problems. If you have publishing channels in your repo then you must remove them following this fix. This can be done by either cleaning your repo out completely or deleting the node underneath "Data Dictionary/Publishing Root" (it has a UUID as its name).
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30646 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
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
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
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
29876: Removed emotive language from build.xml
29877: Made getter final; should make members final.
29879: Extra check for erroneous, pre-existing transactions
29880: ALF-8966: RSOLR 042: Node deletes keep DB ID (ALF-8965)
- There is no longer code to change the store ID and UUID for an entry in alf_node
- During store moves, new node entries are created and node data is moved onto the new node
- Primarily affects archive/restore use cases
- Any NodeRef can be tracked using the DB ID associated with it (see NodeService.getNodeStatus)
29926: Minor toString modification
29927: Code cleanup: line endings, non-javadoc and isDebugEnabled
29928: Moved exception absorbtion out of the non-propagating txn (and cleaned up unused code)
29930: Test for ALF-5714: Write transactions serialized on MySQL
- The fix is to add this to the MySQL configuration and restart the MySQL server
innodb_locks_unsafe_for_binlog = true
See: http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_locks_unsafe_for_binlog
- The test holds DB resources from one archive process while doing another. It fails without the setting given.
- TODO: Documentation required
29969: ALF-8966: RSOLR 042: Node deletes keep DB ID (ALF-8965)
- Fixed timing of circular hierarchy detection
29972: ALF-8966: RSOLR 042: Node deletes keep DB ID (ALF-8965)
- Fixed ACL retrieval from old parent node during move
- Fixes PermissionServiceTest failures
29979: Fix test's initialization
29987: Fixed txn demarcation during write of transfer report
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30044 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
29057: ALF-9491: Bitrock 7.2.2
29063: ALF-8766 Concatenated strings in EN webclient file
29066: Merge DEV/DEV/BELARUS/V3.4-BUG-FIX-2011_07_13 to DEV/V3.4-BUG-FIX
29010: ALF-7396: Japanese- Untranslated
29072: HomeFolderProvider work - Changes as a result of Dave Ward's comments
(HomeFolderManager not fully done as there is a spring issue with using NodeService, FileFolderService, fileFolderService, SearchService or searchService)
29074: ALF-7637 - Share displays incorrect folder contents after copy-on-outbound rule against working copy
29075: ALF-8406 - Configuring the datalist display for sub-types does not work
29082: ALF-6847 translation: "Collega" should be reverted to English: "Link" as per term list.
29087: ALF-5717 property names for wcm quickstart website-model had an invalid format or did not end in .description or .title
29093: Merge V3.3 to DEV/V3.4-BUG-FIX (28596)
28596: Remove dependency between subsystems and all the object factories in the parent context!
- Do not allow eager initialization when looking up parent post processors
- Removes circular dependencies from sysAdmin subsystem
29094: Merge HEAD to DEV/V3.4-BUG-FIX ()
28892: Broke circular references between NodeService beans, NodeIndexer, Lucene and back to NodeService.
- NodeIndexer is now bootstrapped to pull out reference to the Lucene beans
29100: Revert Merge V3.3 to DEV/V3.4-BUG-FIX (28596) Caused RepositoryStartupTest to fail
28596: Remove dependency between subsystems and all the object factories in the parent context!
- Do not allow eager initialization when looking up parent post processors
- Removes circular dependencies from sysAdmin subsystem
29102: ALF-9048: Make apply_amps.bat work from its installed location
29103: ALF-8746: Restored Japanese choice format translations
29104: Merged V3.3 to V3.4-BUG-FIX (Reinstated this revision as it is required)
28596: Remove dependency between subsystems and all the object factories in the parent context!
- Do not allow eager initialization when looking up parent post processors
- Removes circular dependencies from sysAdmin subsystem
29105: Use org.springframework.aop.target.LazyInitTargetSource in the NodeService public proxy to break a circular dependency
29106: Make PersonService interact with HomeFolderManager via a lazy proxy to prevent another circular dependency
- Simple HomeFolderManager interface created
- Implementation class renamed to PortableHomeFolderManager
- Removed TODOs from authentication-services-context.xml
29107: Forgot to remove the serviceRegistry dependency from homeFolderManager
29108: ALF-9529: Installer memory consumption and startup time improvements
- Bitrock discover the for loop!
29109: ALF-9530: Postgres installed as Windows service should run as a postgres user, not System
- Fix from Bitrock
29118: Fix for ALF-6737 - It's impossible to view any version of the wiki page if it was renamed with native characters
29119: Fix for ALF-5787 - strings extracted for L10N in Web form creation help text
29124: ALF-9530: Follow up fix from Bitrock
29126: Fix for ALF-8344 - Incorrect message is displayed while recover deleted file
29127: Fix for ALF-9445 - French - Share, translation on Transfer Target configuration
29129: ALF-9476: Make FTPS work on IBM JDK
29133: Fix failing DictionaryRestApiTest
29136: Fix build issues from 29104:
- run as system when creating home folders (PortableHomeFolderManager)
- re-factored onCreateNode out of PortableHomeFolderManager into PersonServiceImpl
- re-factored property PortableHomeFolderManager.enableHomeFolderCreationAsPeopleAreCreated to PersonServiceImpl.homeFolderCreationEager
29137: Fix for ALF-8831 - Internal error occurs in My Tasks Webscripts component
29138: Fix for ALF-8765 - Layout is displaced if translated string occupies more than 1 line
29140: Fix for ALF-8668 - Deleting author account causes Failed to load the forum posts
29142: - PortableHomeFolderManager: Moved code to run as System into PersonServiceImpl so that one must have a valid authority to call the publick makeHomeFolder method. The authority should already be valid if called via PersonServiceImpl.
- Removed unused policyBehaviourFilter property from PersonServiceImpl
29146: ALF-8701: partially translated string in html-upload.get_fr
29147: ALF-8727: DE - changes to Root Category
29149: ALF-8731: DE - Wiki changes (space before full stop)
29152: ALF-9503: Add space after colon in strings in file wdr-messages.properties
29153: Fixed ALF-7899: association.ftl does not render when showTargetLink=true in workflow
29165: ALF-8749: on submit action properties in wcn-workflow-messages.properties
29166: Fix for ALF-6220 - Language pack - .ftl localization
29167: ALF-9550 - Typos in new section of webclient.properties
29169: Fix for ALF-7844 - W3C: Impossible to activate 'Choose from popular tags in this site' link by Enter/Space keys
29170: Merge V3.4-TEAM to V3.4-BUG-FIX (3.4.4)
27471: Fix for ALF-8150 - check for visibility before applying focus to element for IE.
29171: Fixes: ALF-8922, removes date formatting from API (now returns ISO8601) and instead formats it on the client, using L10N strings.
29172: Fix for ALF-2023 - Repository Action - Copy item to specific space doesn not include content. The option to 'deep copy' is now exposed in the UI for Run Action and Rules in Explorer.
29173: Fix for ALF-1446 - Sorting of inline descendants is not observed
29175: ALF-241 - The item is not coppied via 'Paste All' in Shelf when 'Details' page is opened
29177: Fix for ALF-9520 - confusing sample config. Reordered sample config file as suggested.
29178: Fixed ALF-6400: GERMAN: Explorer mouse over hints for TinyMCE are not localized
Fixed ALF-5766: ALL translations errors in Explorer - Calendars are not localizable for content based on webforms
29202: Merge DEV/BELARUS/V3.4-BUG-FIX-2011_04_12 to V3.4-BUG-FIX (3.4.4)
27836: ALF-8524: CLONE - Sharepoint doesn't work with HTTPS
Changes in url links required for HTTPS support.
29203: Restored removal of postgresCreateSymLinksLinuxBuildingFromWindows tag (32 bit Linux) from revision 26582
29211: Fix for ALF-1051 - It is impossible to find link by tag from link details page
29212: Fix for ALF-5301 - TinyMCE is replacing carriage return with white spaces
29250: Latest L10N update for all languages (DE, ES, FR, IT, JA) from Gloria (based on r29172)
29253: L10N Update from Gloria
29270: Fixed ALF-516: Unable to add content/delete tables in webform content when using FireFox
29271: Update from Gloria
29272: Merged BRANCHES/DEV/BELARUS/V3.4-BUG-FIX-2011_07_13 to BRANCHES/DEV/V3.4-BUG-FIX: (with minor modification)
29223: ALF-7619: When document A has an association with a document B editing A's properties fails if user has no permission to edit B
29274: ALF-9517 Incorrect behaviour of versions on Copy action. Version is 0.1 rather than 1.0
29283: Resolve ALF-8273: Valid datetime value cannot be parsed by CMIS AtomPub interface
29284: Update from Gloria
29286: ALF-9596: Merged PATCHES/V3.4.1 to V3.4-BUG-FIX
28150: ALF-8607: Detailed debug logging when out of sync transaction detected by index checker / tracker
28177: ALF-8607: Corrections to debug logging in AbstractReindexComponent
28213: ALF-8607: Further corrections to debug logging in AbstractReindexComponent
- Log attributes from indexes, rather than nodeService properties
28341: ALF-8607: Stop index checker from 'lying'
- isTxnPresentInIndex() call must be made in a new transaction in order to get a database view in sync with the current indexes
28352: ALF-8607: Revisit transaction delineation. Nested transaction only required in checkTxnsImpl()
28403: ALF-8607: Merged PATCHES/V3.3.4 to PATCHES/V3.4.1
27823: ALF-7237: Index tracker needs to perform a cascade reindex on updated nodes in order to cope with node moves
28406: ALF-8607: Improvement to FTS fix. Prevent FTS from restoring documents that have been deleted!
28412: ALF-8607: Invalidate properties and aspects as well as parent assocs when stale cache entry dected during transaction tracking
28427: ALF-8607: Prevent NPE with bad NodeRef in ADMLuceneIndexerImpl.createDocumentsImpl()
28705: ALF-8607: Validate transaction IDs when fetching parent associations
- Compare the cached child node transaction ID against one fetched from the DB
- Stops us from pairing up the cached node for an older or newer transaction with the wrong parent associations
28707: ALF-8607: Merged PATCHES/V3.3.4 to PATCHES/V3.4.1
28588: ALF-7237: Prevent FTS from ever wiping out a document that still exists and ignore duplicates
28708: ALF-8607: Make FTS capable of recovering from cache concurrency issues by using a RetryingTransactionHelper and better exception handling.
- Also avoids skipping the entire batch when the reindexing of a particular document fails.
28710: ALF-8607: Corrected transaction delineation
28753: ALF-8607: Prevent errors caused by AbstractReindexComponent diagnostics trying to parse FTSREF document IDs as NodeRefs (which they aren't!)
28755: ALF-8607: When 'failing over' during FTS indexing, don't bother adding a FTS status document so we don't get stuck in a loop with a problematic document
28815: ALF-8607: Do two way validation of cached / fetched nodes and their parent associations to avoid skew
- Should resolve problem of tracking moves to the archive store and moves in general
28862: ALF-8607: Lucene indexers now support 'read through' behaviour for FTS and Index tracking batches
- Small discrete read only transactions used to read each reindexed node from the database / cache
- Avoids cache 'drift' and 'skew' after long running indexing transactions
28863: ALF-8607: Missing file
28869: ALF-8607: isTxnPresentInIndex() needs to 'read through' so index tracker and checker don't pollute the cache
28872: ALF-8607: Optimization to prevent constant writing to AVM indexes whilst 'ticking over'.
28950: ALF-8607: Improved logic in AbstractReindexComponent.isTxnPresentInIndex() so that we can reliably cope with multi-store transactions (e.g. archive store + spaces store)
- Due to FTS, the txn ID may have 'drifted in' to one store but not the other so we must validate all stores in the txn
29098: ALF-8607: Use getNodeRefStatus as a cache validation point for reindexing 'read through' transactions
- Guarantees that FTS reindexed node will see correct state (well if we had consistent read behaviour it would!)
- Removes stale nodeRef -> ID mappings (e.g. when original node moved to archive store and substituted with deleted node)
- Inexplicably seems to produce a ~30x speedup in performance tests on MySQL! Appears to remove a contention point. More investigation required to find out what!
29287: ALF-9598: Merged PATCHES/V3.4.1 to V3.4-BUG-FIX
28653: ALF-9189: More efficient usage of IndexReaders to avoid huge memory churn with large indexes
- A single reading thread could block out all other reading threads because a write lock is obtained whilst constructing a set of FilterIndexReaderByStringId readers and all deletions across all indexes have to be evaluated. We now cache a FilterIndexReaderByStringId for each 'layer' of the index so that we get some reuse. We also defer evaluation of deletions to AFTER the write lock is returned and in some cases never have to evaluate the deletions at all.
- When merging deletions we now make use of a cached index reader for locating the documents, and only resort to a new reader if deletions have to be performed. Hopefully this will mean that the reader for the largest indexes, containing the least recently used stuff, will get left alone most of the time.
28690: ALF-9189: Corrections to previous fix
- Forgot to remove non-lazy reader initialization
- Fixed NPE
- Reinstated correct looping behaviour - each processed delta must be considered as one of the indexes to search for the next processed delta
29099: ALF-9189: Avoid having to allocate a byte array full of number ones for all occurrences of a term to 'fake' norms.
- Severe Lucene memory hog during FTS
29262: ALF-9189: Fixed memory leak during index tracking / reindexing and further memory leak regression
- Fixed up Lucene refcounting again - remember to propagate through decrefs on ReferenceCounting readers
- Refined ALF-9189 fix to guarantee mainreader clean up
- Remember to flush the delta during reindexing / tracking
- Some extra trace diagnostics to help
29288: ALF-9600: Merged PATCHES/V3.4.1 to V3.4-BUG_FIX
28876: ALF-9041: Merged HEAD to PATCHES/V3.4.1
28850: Latest SpringSurf libs
- Fix to SSO connector passing empty username
29289: ALF-8241: assemble-tomcat populates endorsed directory with xalan.jar and serializer.jar and Bitrock installer installs these too
29291: Merged DEV/SWIFT to V3.4-BUG-FIX (3.4.4) - already merged to HEAD as part of a larger merge
26104: RM: Remove incomplete and unnecessary unit test
29302: Fix for ALF-8885 - Unable to paste item due to system error:null
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29325 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
28741: Merged DEV/TEMPORARY to V3.4-BUG-FIX
28740: ALF-8993: IMAP favourite star is not visible if imap is enabled via JMX
The org.alfresco.repo.imap.ImapService interface was extended to expose getEnabled() and made the webscript to call ImapService.getEnabled().
28742: ALF-8801: Broken French strings
28745: ALF-6470: French string correction
28746: ALF-5607: Installer deletion of directories on installation cancel.
28756: ALF-9211: Install fails when path selected that contains accents or double byte chars (e.g. Japanese)
- Fix from Bitrock
- Not internationalized yet
28758: Merged DEV to V3.4-BUG-FIX
28743: ALF-8029: JSON returned by some audit queries not valide
Quote user in query.get.json.ftl if it has value.
28761: Merged DEV to V3.4-BUG-FIX
28739: ALF-9123 : "Content URL conversion failed" error being thrown
Note: Actually changed the implementation but the principle remains.
In future, use a thread-safe boolean e.g. AtomicBoolean to carry data
around about the running state; don't use a class member variable as
it can be manipulated by competing threads, etc.
28762: Fix ALF-9376: Typo in Version2Model
28763: Merged DEV to V3.4-BUG-FIX
28754: ALF-8461: Invalid property cm:source (cm:copiedFrom) causes not be become sys:incomplete
Configurable property called 'propertiesToIgnore' was added to IncompleteNodeTagger,and configured to ignore "cm:source".
Merge note: I fixed the stored 'propertiesToIgnore' to be a Set<QName> to prevent unnecessary conversions
28764: ALF-9036: Fix NPE on XForm session timeout
28765: ALF-9211: Externalized new installer message
- Needs localizing
28789: ALF-9407: Single quote characters in messages containing {} need to be doubled
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28793 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261