*
* ECOMP is a trademark and service mark of AT&T Intellectual Property.
*/
-package org.onap.aai.sparky.synchronizer;
+package org.onap.aai.sparky.sync;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
import java.util.EnumSet;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.atomic.AtomicInteger;
-import org.onap.aai.sparky.config.oxm.OxmModelLoader;
+import org.onap.aai.cl.api.Logger;
+import org.onap.aai.cl.mdc.MdcContext;
+import org.onap.aai.restclient.client.OperationResult;
+import org.onap.aai.sparky.dal.ActiveInventoryAdapter;
+import org.onap.aai.sparky.dal.ElasticSearchAdapter;
import org.onap.aai.sparky.dal.NetworkTransaction;
-import org.onap.aai.sparky.dal.aai.ActiveInventoryDataProvider;
import org.onap.aai.sparky.dal.aai.ActiveInventoryEntityStatistics;
import org.onap.aai.sparky.dal.aai.ActiveInventoryProcessingExceptionStatistics;
-import org.onap.aai.sparky.dal.aai.config.ActiveInventoryConfig;
-import org.onap.aai.sparky.dal.elasticsearch.ElasticSearchDataProvider;
import org.onap.aai.sparky.dal.elasticsearch.ElasticSearchEntityStatistics;
import org.onap.aai.sparky.dal.elasticsearch.config.ElasticSearchConfig;
import org.onap.aai.sparky.dal.rest.HttpMethod;
-import org.onap.aai.sparky.dal.rest.OperationResult;
import org.onap.aai.sparky.dal.rest.RestOperationalStatistics;
import org.onap.aai.sparky.logging.AaiUiMsgs;
+import org.onap.aai.sparky.sync.config.NetworkStatisticsConfig;
import org.onap.aai.sparky.util.NodeUtils;
-import org.onap.aai.cl.api.Logger;
-import org.onap.aai.cl.mdc.MdcContext;
+
import com.fasterxml.jackson.databind.ObjectMapper;
/**
protected final Logger logger;
protected ObjectMapper mapper;
- protected OxmModelLoader oxmModelLoader;
protected long syncDurationInMs;
/**
protected EnumSet<StatFlag> enabledStatFlags;
- protected ActiveInventoryDataProvider aaiDataProvider;
- protected ElasticSearchDataProvider esDataProvider;
+ protected ElasticSearchAdapter elasticSearchAdapter;
+ protected ActiveInventoryAdapter aaiAdapter;
protected ExecutorService synchronizerExecutor;
protected ExecutorService aaiExecutor;
private TaskProcessingStats aaiTaskProcessingStats;
private TaskProcessingStats esTaskProcessingStats;
- private TransactionRateController aaiTransactionRateController;
- private TransactionRateController esTransactionRateController;
+ private TransactionRateMonitor aaiTransactionRateController;
+ private TransactionRateMonitor esTransactionRateController;
protected AtomicInteger aaiWorkOnHand;
protected AtomicInteger esWorkOnHand;
* @throws Exception the exception
*/
protected AbstractEntitySynchronizer(Logger logger, String syncName, int numSyncWorkers,
- int numActiveInventoryWorkers, int numElasticsearchWorkers, String indexName)
+ int numActiveInventoryWorkers, int numElasticsearchWorkers, String indexName,
+ NetworkStatisticsConfig aaiStatConfig, NetworkStatisticsConfig esStatConfig)
throws Exception {
this.logger = logger;
this.synchronizerExecutor =
this.esExecutor =
NodeUtils.createNamedExecutor(syncName + "-ES", numElasticsearchWorkers, logger);
this.mapper = new ObjectMapper();
- this.oxmModelLoader = OxmModelLoader.getInstance();
this.indexName = indexName;
this.esRestStats = new RestOperationalStatistics();
- this.esEntityStats = new ElasticSearchEntityStatistics(oxmModelLoader);
+ this.esEntityStats = new ElasticSearchEntityStatistics();
this.aaiRestStats = new RestOperationalStatistics();
- this.aaiEntityStats = new ActiveInventoryEntityStatistics(oxmModelLoader);
+ this.aaiEntityStats = new ActiveInventoryEntityStatistics();
this.aaiProcessingExceptionStats = new ActiveInventoryProcessingExceptionStatistics();
- this.aaiTaskProcessingStats =
- new TaskProcessingStats(ActiveInventoryConfig.getConfig().getTaskProcessorConfig());
- this.esTaskProcessingStats =
- new TaskProcessingStats(ElasticSearchConfig.getConfig().getProcessorConfig());
+ this.aaiTaskProcessingStats = new TaskProcessingStats(aaiStatConfig);
+ this.esTaskProcessingStats = new TaskProcessingStats(esStatConfig);
this.aaiTransactionRateController =
- new TransactionRateController(ActiveInventoryConfig.getConfig().getTaskProcessorConfig());
+ new TransactionRateMonitor(numActiveInventoryWorkers, aaiStatConfig);
this.esTransactionRateController =
- new TransactionRateController(ElasticSearchConfig.getConfig().getProcessorConfig());
+ new TransactionRateMonitor(numElasticsearchWorkers, esStatConfig);
this.aaiWorkOnHand = new AtomicInteger(0);
this.esWorkOnHand = new AtomicInteger(0);
*/
protected void shutdownExecutors() {
try {
- synchronizerExecutor.shutdown();
- aaiExecutor.shutdown();
- esExecutor.shutdown();
- aaiDataProvider.shutdown();
- esDataProvider.shutdown();
+
+ if (synchronizerExecutor != null) {
+ synchronizerExecutor.shutdown();
+ }
+
+ if (aaiExecutor != null) {
+ aaiExecutor.shutdown();
+ }
+
+ if (esExecutor != null) {
+ esExecutor.shutdown();
+ }
+
} catch (Exception exc) {
logger.error(AaiUiMsgs.ERROR_SHUTDOWN_EXECUTORS, exc);
}
/**
* Clear cache.
*/
- public void clearCache() {
- if (aaiDataProvider != null) {
- aaiDataProvider.clearCache();
- }
- }
+ public void clearCache() {}
- protected ActiveInventoryDataProvider getAaiDataProvider() {
- return aaiDataProvider;
+ public ElasticSearchAdapter getElasticSearchAdapter() {
+ return elasticSearchAdapter;
}
- public void setAaiDataProvider(ActiveInventoryDataProvider aaiDataProvider) {
- this.aaiDataProvider = aaiDataProvider;
+ public void setElasticSearchAdapter(ElasticSearchAdapter elasticSearchAdapter) {
+ this.elasticSearchAdapter = elasticSearchAdapter;
}
- protected ElasticSearchDataProvider getEsDataProvider() {
- return esDataProvider;
+ public ActiveInventoryAdapter getAaiAdapter() {
+ return aaiAdapter;
}
- public void setEsDataProvider(ElasticSearchDataProvider provider) {
- this.esDataProvider = provider;
+ public void setAaiAdapter(ActiveInventoryAdapter aaiAdapter) {
+ this.aaiAdapter = aaiAdapter;
}
/**
if (enabledStatFlags.contains(StatFlag.ES_TASK_PROCESSING_STATS)) {
- esTransactionRateController.trackResponseTime(txn.getOperationResult().getResponseTimeInMs());
+ esTransactionRateController.trackResponseTime(txn.getOpTimeInMs());
- esTaskProcessingStats
- .updateTaskResponseStatsHistogram(txn.getOperationResult().getResponseTimeInMs());
+ esTaskProcessingStats.updateTaskResponseStatsHistogram(txn.getOpTimeInMs());
esTaskProcessingStats.updateTaskAgeStatsHistogram(txn.getTaskAgeInMs());
// don't know the cost of the lengh calc, we'll see if it causes a
}
if (enabledStatFlags.contains(StatFlag.AAI_TASK_PROCESSING_STATS)) {
- aaiTransactionRateController
- .trackResponseTime(txn.getOperationResult().getResponseTimeInMs());
+ aaiTransactionRateController.trackResponseTime(txn.getOpTimeInMs());
- aaiTaskProcessingStats
- .updateTaskResponseStatsHistogram(txn.getOperationResult().getResponseTimeInMs());
+ aaiTaskProcessingStats.updateTaskResponseStatsHistogram(txn.getOpTimeInMs());
aaiTaskProcessingStats.updateTaskAgeStatsHistogram(txn.getTaskAgeInMs());
// don't know the cost of the lengh calc, we'll see if it causes a