modify InterruptedException
diff --git a/alpha/alpha-benchmark/src/main/java/org/apache/servicecomb/pack/alpha/benchmark/SagaEventBenchmark.java b/alpha/alpha-benchmark/src/main/java/org/apache/servicecomb/pack/alpha/benchmark/SagaEventBenchmark.java
index ab8f6ad..c36ce04 100644
--- a/alpha/alpha-benchmark/src/main/java/org/apache/servicecomb/pack/alpha/benchmark/SagaEventBenchmark.java
+++ b/alpha/alpha-benchmark/src/main/java/org/apache/servicecomb/pack/alpha/benchmark/SagaEventBenchmark.java
@@ -32,12 +32,15 @@
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import java.security.SecureRandom;
 
 @Component
 public class SagaEventBenchmark {
 
   private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
+  private final static SecureRandom SECURERANDOM = new SecureRandom();
+
   @Autowired(required = false)
   SagaMessageSender sender;
   int warmUpConcurrency;
@@ -98,6 +101,7 @@
       }
 
     } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
       LOG.error(e.getMessage(), e);
     }
     LOG.info("OK");
@@ -118,7 +122,8 @@
       try {
         end.await();
       } catch (InterruptedException e) {
-          LOG.error("warmUp Exception = [{}]", e.getMessage(), e);
+        Thread.currentThread().interrupt();
+        LOG.error("warmUp Exception = [{}]", e.getMessage(), e);
       }
     }
 
@@ -177,6 +182,7 @@
         }
         end.countDown();
       } catch (InterruptedException e) {
+        Thread.currentThread().interrupt();
         LOG.error(e.getMessage(), e);
       }
     }
@@ -213,11 +219,10 @@
 
   private String[] generateRandomIdPrefix(int numberOfWords) {
     String[] randomStrings = new String[numberOfWords];
-    Random random = new Random();
     for (int i = 0; i < numberOfWords; i++) {
       char[] word = new char[8];
       for (int j = 0; j < word.length; j++) {
-        word[j] = (char) ('a' + random.nextInt(26));
+        word[j] = (char) ('a' + SECURERANDOM.nextInt(26));
       }
       randomStrings[i] = new String(word);
     }
diff --git a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/kafka/KafkaChannelAutoConfiguration.java b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/kafka/KafkaChannelAutoConfiguration.java
index a96621c..a2a32b4 100644
--- a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/kafka/KafkaChannelAutoConfiguration.java
+++ b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/kafka/KafkaChannelAutoConfiguration.java
@@ -111,6 +111,9 @@
             .createTopics(Collections.singleton(newTopic));
         createTopicsResult.values().get(topic).get();
       } catch (InterruptedException | ExecutionException e) {
+        if (e.getCause() instanceof InterruptedException) {
+          Thread.currentThread().interrupt();
+        }
         if (!(e.getCause() instanceof TopicExistsException)) {
           throw new RuntimeException(e.getMessage(), e);
         }
@@ -147,4 +150,4 @@
     return new KafkaSagaEventConsumer(actorSystem, sagaShardRegionActor, metricsService,
         bootstrap_servers, topic);
   }
-}
\ No newline at end of file
+}
diff --git a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/kafka/KafkaMessagePublisher.java b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/kafka/KafkaMessagePublisher.java
index fe41fb3..f156bc2 100644
--- a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/kafka/KafkaMessagePublisher.java
+++ b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/channel/kafka/KafkaMessagePublisher.java
@@ -44,6 +44,9 @@
         try {
             kafkaTemplate.send(topic, data.getGlobalTxId(), data).get();
         } catch (InterruptedException | ExecutionException | UnsupportedOperationException e) {
+            if (e.getCause() instanceof InterruptedException) {
+                Thread.currentThread().interrupt();
+            }
             throw new RuntimeException(e);
         }
     }
diff --git a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/repository/elasticsearch/ElasticsearchTransactionRepository.java b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/repository/elasticsearch/ElasticsearchTransactionRepository.java
index 4d02443..dffffcf 100644
--- a/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/repository/elasticsearch/ElasticsearchTransactionRepository.java
+++ b/alpha/alpha-fsm/src/main/java/org/apache/servicecomb/pack/alpha/fsm/repository/elasticsearch/ElasticsearchTransactionRepository.java
@@ -268,6 +268,7 @@
           try {
             Thread.sleep(refreshTime);
           } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
             LOG.error(e.getMessage(), e);
           }
         }
diff --git a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/core/GrpcOnErrorHandler.java b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/core/GrpcOnErrorHandler.java
index d2ad6ee..33b049f 100644
--- a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/core/GrpcOnErrorHandler.java
+++ b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/core/GrpcOnErrorHandler.java
@@ -74,6 +74,7 @@
           }
           return messageSender;
         } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
           throw new OmegaException("Failed to get reconnected sender", e);
         }
       }
diff --git a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/RetryableMessageSender.java b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/RetryableMessageSender.java
index 1149778..49c52b1 100644
--- a/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/RetryableMessageSender.java
+++ b/omega/omega-connector/omega-connector-grpc/src/main/java/org/apache/servicecomb/pack/omega/connector/grpc/saga/RetryableMessageSender.java
@@ -67,6 +67,7 @@
     try {
       return ((SagaMessageSender)availableMessageSenders.take()).send(event);
     } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
       throw new OmegaException("Failed to send event " + event + " due to interruption", e);
     }
   }
diff --git a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/RecoveryPolicyTimeoutWrapper.java b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/RecoveryPolicyTimeoutWrapper.java
index 894d981..9873ac9 100644
--- a/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/RecoveryPolicyTimeoutWrapper.java
+++ b/omega/omega-transaction/src/main/java/org/apache/servicecomb/pack/omega/transaction/wrapper/RecoveryPolicyTimeoutWrapper.java
@@ -60,6 +60,7 @@
         throw new OmegaException(timeoutProb.getInterruptFailureException());
       }
     } catch (InterruptedException e) {
+      Thread.currentThread().interrupt();
       if (timeoutProb.getInterruptFailureException() != null) {
         throw new OmegaException(timeoutProb.getInterruptFailureException());
       }else{