ALF-9860: RSOLR 034: Incremental Index Fix

- generic fix, supprot to request purge, index and reindex for tx, node, acl-tx and acl (partly to make broken indexes)
- expose index fix via JMX
- migrate logging in the SOLR project to slf4j to fit the SOLR logging pattern (config to come)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29904 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrew Hind
2011-08-19 10:10:46 +00:00
parent f965894509
commit bd5c8f5285
2 changed files with 18 additions and 0 deletions

View File

@@ -16,6 +16,7 @@
<#macro aclReadersJSON aclReaders> <#macro aclReadersJSON aclReaders>
{ {
"aclId": ${aclReaders.aclId?c}, "aclId": ${aclReaders.aclId?c},
"aclChangeSetId": ${aclReaders.aclChangeSetId?c},
"readers" : "readers" :
[ [
<#list aclReaders.readers as reader> <#list aclReaders.readers as reader>
@@ -49,6 +50,7 @@
<#if filter.includeNodeRef??><#if nodeMetaData.nodeRef??>, "nodeRef": "${nodeMetaData.nodeRef.toString()}"</#if></#if> <#if filter.includeNodeRef??><#if nodeMetaData.nodeRef??>, "nodeRef": "${nodeMetaData.nodeRef.toString()}"</#if></#if>
<#if filter.includeType??><#if nodeMetaData.nodeType??>, "type": <@qNameJSON qName=nodeMetaData.nodeType/></#if></#if> <#if filter.includeType??><#if nodeMetaData.nodeType??>, "type": <@qNameJSON qName=nodeMetaData.nodeType/></#if></#if>
<#if filter.includeAclId??><#if nodeMetaData.aclId??>, "aclId": ${nodeMetaData.aclId?c}</#if></#if> <#if filter.includeAclId??><#if nodeMetaData.aclId??>, "aclId": ${nodeMetaData.aclId?c}</#if></#if>
<#if filter.includeTxnId??><#if nodeMetaData.txnId??>, "txnId": ${nodeMetaData.txnId?c}</#if></#if>
<#if filter.includeProperties??> <#if filter.includeProperties??>
<#if nodeMetaData.properties??> <#if nodeMetaData.properties??>
, "properties": { , "properties": {

View File

@@ -162,6 +162,10 @@ public class NodesMetaDataGet extends DeclarativeWebScript
{ {
filter.setIncludeChildIds(o.getBoolean("includeChildIds")); filter.setIncludeChildIds(o.getBoolean("includeChildIds"));
} }
if(o.has("includeTxnId"))
{
filter.setIncludeTxnId(o.getBoolean("includeTxnId"));
}
final ArrayList<FreemarkerNodeMetaData> nodesMetaData = final ArrayList<FreemarkerNodeMetaData> nodesMetaData =
new ArrayList<FreemarkerNodeMetaData>(size > 0 ? size : INITIAL_DEFAULT_SIZE); new ArrayList<FreemarkerNodeMetaData>(size > 0 ? size : INITIAL_DEFAULT_SIZE);
@@ -241,6 +245,7 @@ public class NodesMetaDataGet extends DeclarativeWebScript
private Long parentAssocsCrc; private Long parentAssocsCrc;
private List<Long> childIds; private List<Long> childIds;
private String owner; private String owner;
private Long txnId;
public FreemarkerNodeMetaData(SOLRSerializer solrSerializer, NodeMetaData nodeMetaData) throws IOException, JSONException public FreemarkerNodeMetaData(SOLRSerializer solrSerializer, NodeMetaData nodeMetaData) throws IOException, JSONException
{ {
@@ -248,6 +253,7 @@ public class NodesMetaDataGet extends DeclarativeWebScript
setAclId(nodeMetaData.getAclId()); setAclId(nodeMetaData.getAclId());
setNodeRef(nodeMetaData.getNodeRef()); setNodeRef(nodeMetaData.getNodeRef());
setNodeType(nodeMetaData.getNodeType()); setNodeType(nodeMetaData.getNodeType());
setTxnId(nodeMetaData.getTxnId());
// convert Paths to Strings // convert Paths to Strings
List<String> paths = new ArrayList<String>(); List<String> paths = new ArrayList<String>();
@@ -381,6 +387,16 @@ public class NodesMetaDataGet extends DeclarativeWebScript
this.owner = owner; this.owner = owner;
} }
public Long getTxnId()
{
return txnId;
}
public void setTxnId(Long txnId)
{
this.txnId = txnId;
}
} }
} }