Merged V2.2 to HEAD

8105: Fix for AR-1828 - multiple users being created from web siteregistration
   8107: Merged V2.1 to v2.2
      8106: Fixed fallout from MetadataExtractors setting properties to thecorrect data type
   8109: Fix for AR-2016
   8119: AR-1778: putContent method in the ContentUtils class fail to upload*.java, *.txt, *.xml
   8120: AR-1895: fix to web service SDK sample
   8125: Test added to prevent regression of AR-1707
   8126: Enhanced exception message when non-marking InputStream is used.
   8131: Merged V2.1 to V2.2
      8129: Merged V1.4 to V2.1:
         8128: Fix AR-2041: NPE checking voids during index tracking
   8140: AR-1762 - correct generation of download servlet URL


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@8477 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2008-03-10 13:35:04 +00:00
parent 3e2311888b
commit 316924e8de
5 changed files with 92 additions and 6 deletions

View File

@@ -1515,6 +1515,7 @@ public class HibernateNodeDaoServiceImpl extends HibernateDaoSupport implements
/*
* Queries for transactions
*/
private static final String QUERY_GET_TXN_BY_ID = "txn.GetTxnById";
private static final String QUERY_GET_TXNS_BY_COMMIT_TIME_ASC = "txn.GetTxnsByCommitTimeAsc";
private static final String QUERY_GET_TXNS_BY_COMMIT_TIME_DESC = "txn.GetTxnsByCommitTimeDesc";
private static final String QUERY_GET_TXN_UPDATE_COUNT_FOR_STORE = "txn.GetTxnUpdateCountForStore";
@@ -1523,9 +1524,21 @@ public class HibernateNodeDaoServiceImpl extends HibernateDaoSupport implements
private static final String QUERY_GET_TXN_CHANGES_FOR_STORE = "txn.GetTxnChangesForStore";
private static final String QUERY_GET_TXN_CHANGES = "txn.GetTxnChanges";
public Transaction getTxnById(long txnId)
public Transaction getTxnById(final long txnId)
{
return (Transaction) getSession().get(TransactionImpl.class, new Long(txnId));
HibernateCallback callback = new HibernateCallback()
{
public Object doInHibernate(Session session)
{
Query query = session.getNamedQuery(QUERY_GET_TXN_BY_ID);
query.setLong("txnId", txnId)
.setReadOnly(true);
return query.uniqueResult();
}
};
Transaction txn = (Transaction) getHibernateTemplate().execute(callback);
// done
return txn;
}
@SuppressWarnings("unchecked")

View File

@@ -257,6 +257,18 @@ found:
}
continue;
}
else if (voidTxn.getCommitTimeMs() == null)
{
// http://issues.alfresco.com/browse/AR-2041
// An object was found, but sometimes it is still not fully formed.
// Perhaps it's the direct request by ID that gives back an uncommitted transaction.
// So this transaction is very likely to become live soon but we just leave it until it does.
// When the issue has been seen, there have not been any committed transactions with null commit times.
if (logger.isDebugEnabled())
{
logger.debug("Void is visible but not live: " + voidTxn);
}
}
else
{
if (logger.isDebugEnabled())