You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by fr...@apache.org on 2019/06/18 12:36:26 UTC
svn commit: r1861576 -
/jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistence.java
Author: frm
Date: Tue Jun 18 12:36:26 2019
New Revision: 1861576
URL: http://svn.apache.org/viewvc?rev=1861576&view=rev
Log:
OAK-8410 - Fix NPE in the RequestCompletedEvent listener
Modified:
jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistence.java
Modified: jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistence.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistence.java?rev=1861576&r1=1861575&r2=1861576&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistence.java (original)
+++ jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzurePersistence.java Tue Jun 18 12:36:26 2019
@@ -65,7 +65,7 @@ public class AzurePersistence implements
@Override
public SegmentArchiveManager createArchiveManager(boolean mmap, boolean offHeapAccess, IOMonitor ioMonitor, FileStoreMonitor fileStoreMonitor, RemoteStoreMonitor remoteStoreMonitor) {
- azureRemoteStoreMonitor(remoteStoreMonitor);
+ attachRemoteStoreMonitor(remoteStoreMonitor);
return new AzureArchiveManager(segmentstoreDirectory, ioMonitor, fileStoreMonitor);
}
@@ -127,27 +127,28 @@ public class AzurePersistence implements
}
}
- private void azureRemoteStoreMonitor(RemoteStoreMonitor remoteStoreMonitor){
-
- OperationContext operationContext = new OperationContext();
-
- operationContext.getGlobalRequestCompletedEventHandler().addListener(new StorageEvent<RequestCompletedEvent>() {
+ private static void attachRemoteStoreMonitor(RemoteStoreMonitor remoteStoreMonitor) {
+ OperationContext.getGlobalRequestCompletedEventHandler().addListener(new StorageEvent<RequestCompletedEvent>() {
@Override
- public void eventOccurred(RequestCompletedEvent eventArg) {
- Date startDate = eventArg.getRequestResult().getStartDate();
- Date stopDate = eventArg.getRequestResult().getStopDate();
- long requestDuration = stopDate.getTime() - startDate.getTime();
- remoteStoreMonitor.requestDuration(requestDuration, TimeUnit.MILLISECONDS);
+ public void eventOccurred(RequestCompletedEvent e) {
+ Date startDate = e.getRequestResult().getStartDate();
+ Date stopDate = e.getRequestResult().getStopDate();
+
+ if (startDate != null && stopDate != null) {
+ long requestDuration = stopDate.getTime() - startDate.getTime();
+ remoteStoreMonitor.requestDuration(requestDuration, TimeUnit.MILLISECONDS);
+ }
- Exception exception = eventArg.getRequestResult().getException();
+ Exception exception = e.getRequestResult().getException();
- if(exception == null){
+ if (exception == null) {
remoteStoreMonitor.requestCount();
- }else {
+ } else {
remoteStoreMonitor.requestError();
}
}
+
});
}