moved unload from shared to enterprise

This commit is contained in:
2024-11-06 13:22:52 -05:00
parent 57293c6efe
commit 20d9ce299a
6 changed files with 27 additions and 19 deletions

View File

@@ -1,4 +1,4 @@
package com.inteligr8.alfresco.asie.rest;
package com.inteligr8.alfresco.asie.enterprise.rest;
import java.io.IOException;
import java.io.Serializable;
@@ -17,7 +17,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.extensions.webscripts.WebScriptException;
import org.springframework.extensions.webscripts.WebScriptRequest;
import org.springframework.extensions.webscripts.WebScriptResponse;
import org.springframework.http.HttpStatus;
@@ -25,6 +24,7 @@ import org.springframework.http.HttpStatus;
import com.inteligr8.alfresco.asie.Constants;
import com.inteligr8.alfresco.asie.api.CoreAdminApi;
import com.inteligr8.alfresco.asie.model.NodeParameterSet;
import com.inteligr8.alfresco.asie.rest.AbstractAsieNodeWebScript;
import com.inteligr8.alfresco.asie.service.ShardBackupService;
import com.inteligr8.alfresco.asie.spi.ShardStateService;
import com.inteligr8.solr.model.CoreMetadata;
@@ -84,19 +84,23 @@ public abstract class AbstractUnregisterNodeWebScript<T extends NodeParameterSet
ShardState shardNode = matchingCore.getValue();
String core = shardNode.getPropertyBag().get("coreName");
StatusResponse status = this.getCoreStatus(nodeHostname, nodePort, core);
if (status == null)
throw new WebScriptException(HttpStatus.INTERNAL_SERVER_ERROR.value(), "This should never happen");
CoreMetadata coreMetadata = status.getStatus().getCores().get(core);
if (coreMetadata == null || coreMetadata.getName() == null) {
this.logger.warn("Registered core does not actually exist on the node host; could be a DNS issue: {}:{}/solr/{}", nodeHostname, nodePort, core);
} else {
this.unloadCore(nodeHostname, nodePort, core);
cores.put(core, coreMetadata.getInstancePath());
try {
StatusResponse status = this.getCoreStatus(nodeHostname, nodePort, core);
if (status == null) {
this.logger.warn("Registered host/core status could not be retrieved: {}:{}/solr/{}", nodeHostname, nodePort, core);
} else {
CoreMetadata coreMetadata = status.getStatus().getCores().get(core);
if (coreMetadata == null || coreMetadata.getName() == null) {
this.logger.warn("Registered core does not actually exist on the node host; could be a DNS issue: {}:{}/solr/{}", nodeHostname, nodePort, core);
} else {
this.unloadCore(nodeHostname, nodePort, core);
cores.put(core, coreMetadata.getInstancePath());
}
}
} finally {
this.sss.remove(matchingCore.getKey());
this.sbs.forget(shardNode);
}
this.sss.remove(matchingCore.getKey());
this.sbs.forget(shardNode);
}
} finally {
// FIXME maybe a separate tx?

View File

@@ -1,4 +1,4 @@
package com.inteligr8.alfresco.asie.rest;
package com.inteligr8.alfresco.asie.enterprise.rest;
import java.io.IOException;
import java.io.Serializable;
@@ -21,6 +21,7 @@ import org.springframework.stereotype.Component;
import com.inteligr8.alfresco.asie.Constants;
import com.inteligr8.alfresco.asie.api.CoreAdminApi;
import com.inteligr8.alfresco.asie.rest.AbstractAsieNodeWebScript;
import com.inteligr8.solr.model.ExceptionResponse;
import com.inteligr8.solr.model.core.CreateRequest;
import com.inteligr8.solr.model.core.ReloadRequest;

View File

@@ -1,4 +1,4 @@
package com.inteligr8.alfresco.asie.rest;
package com.inteligr8.alfresco.asie.enterprise.rest;
import java.io.IOException;
import java.io.Serializable;
@@ -23,6 +23,7 @@ import org.springframework.stereotype.Component;
import com.inteligr8.alfresco.asie.Constants;
import com.inteligr8.alfresco.asie.api.CoreAdminApi;
import com.inteligr8.alfresco.asie.rest.AbstractAsieNodeWebScript;
import com.inteligr8.solr.model.ExceptionResponse;
import com.inteligr8.solr.model.core.CreateRequest;
import com.inteligr8.solr.model.core.ReloadRequest;

View File

@@ -1,4 +1,4 @@
package com.inteligr8.alfresco.asie.rest;
package com.inteligr8.alfresco.asie.enterprise.rest;
import org.alfresco.repo.index.shard.ShardState;
import org.springframework.extensions.webscripts.WebScriptRequest;

View File

@@ -1,4 +1,4 @@
package com.inteligr8.alfresco.asie.rest;
package com.inteligr8.alfresco.asie.enterprise.rest;
import org.springframework.extensions.webscripts.WebScriptRequest;
import org.springframework.stereotype.Component;

View File

@@ -2,6 +2,8 @@ package com.inteligr8.alfresco.asie;
public interface Constants {
static final String NAMESPACE_ASIE = "http://inteligr8.com/alfresco/asie";
static final String QUALIFIER_ASIE = "asie";
// OOTB
@@ -15,7 +17,7 @@ public interface Constants {
static final String BEAN_SHARD_REGISTRY = "asie.ShardRegistry";
static final String ATTR_ASIE = "inteligr8.asie";
static final String ATTR_ASIE_NODES = "inteligr8.asie.nodes";
static final String ATTR_ASIE_NODE_SHARD = "inteligr8.asie.nodeShard";
static final String ATTR_STATE = "state";
static final String ATTR_ONLINE = "online";
static final String ATTR_UNLOADED = "unloadedNode.cores";