>From Peeyush Gupta <[email protected]>:

Peeyush Gupta has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17725 )


Change subject: WIP: Improve atomic statements performance
......................................................................

WIP: Improve atomic statements performance

Change-Id: I3846bfa534ebe4077f55f3a9acccd3dc3d8d0cda
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AtomicJobCommitMessage.java
1 file changed, 19 insertions(+), 1 deletion(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/25/17725/1

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AtomicJobCommitMessage.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AtomicJobCommitMessage.java
index fac023c..b1db2dc 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AtomicJobCommitMessage.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/message/AtomicJobCommitMessage.java
@@ -19,6 +19,8 @@
 package org.apache.asterix.app.message;

 import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;

 import org.apache.asterix.common.api.IDatasetLifecycleManager;
 import org.apache.asterix.common.api.INcApplicationContext;
@@ -45,11 +47,18 @@

     @Override
     public void handle(INcApplicationContext appCtx) throws 
HyracksDataException, InterruptedException {
+        ExecutorService executor = 
Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
         IDatasetLifecycleManager datasetLifecycleManager = 
appCtx.getDatasetLifecycleManager();
         for (Integer datasetId : datasetIds) {
             for (IndexInfo indexInfo : 
datasetLifecycleManager.getDatasetInfo(datasetId).getIndexes().values()) {
                 if (indexInfo.getIndex().isPrimaryIndex()) {
-                    ((PrimaryIndexOperationTracker) 
indexInfo.getIndex().getOperationTracker()).commit();
+                    executor.submit(() -> {
+                        try {
+                            ((PrimaryIndexOperationTracker) 
indexInfo.getIndex().getOperationTracker()).commit();
+                        } catch (HyracksDataException e) {
+                            throw new RuntimeException(e);
+                        }
+                    });
                 }
             }
         }

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17725
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: I3846bfa534ebe4077f55f3a9acccd3dc3d8d0cda
Gerrit-Change-Number: 17725
Gerrit-PatchSet: 1
Gerrit-Owner: Peeyush Gupta <[email protected]>
Gerrit-MessageType: newchange

Reply via email to