Index: oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java	(revision 0311fabd8a2f1c44e784a75feb892da601719aea)
+++ oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/SessionImpl.java	(revision )
@@ -707,4 +707,9 @@
         return sessionContext.getUserManager();
     }
 
+    @Override
+    public String toString() {
+        return sd.getContentSession().toString();
+    }
+
 }
\ No newline at end of file
Index: oak-core/src/main/java/org/apache/jackrabbit/oak/core/ContentSessionImpl.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- oak-core/src/main/java/org/apache/jackrabbit/oak/core/ContentSessionImpl.java	(revision 0311fabd8a2f1c44e784a75feb892da601719aea)
+++ oak-core/src/main/java/org/apache/jackrabbit/oak/core/ContentSessionImpl.java	(revision )
@@ -20,6 +20,7 @@
 
 import java.io.IOException;
 import java.util.Set;
+import java.util.concurrent.atomic.AtomicLong;
 
 import javax.annotation.Nonnull;
 import javax.security.auth.login.LoginException;
@@ -45,6 +46,11 @@
 
     private static final Logger log = LoggerFactory.getLogger(ContentSessionImpl.class);
 
+    /**
+     * Session counter. Used to generate unique internal session names.
+     */
+    private static final AtomicLong SESSION_COUNTER = new AtomicLong();
+
     private final LoginContext loginContext;
     private final SecurityProvider securityProvider;
     private final String workspaceName;
@@ -52,6 +58,7 @@
     private final CommitHook hook;
     private final ChangeDispatcher changeDispatcher;
     private final QueryIndexProvider indexProvider;
+    private final String sessionName;
 
     private volatile boolean live = true;
 
@@ -69,6 +76,7 @@
         this.hook = hook;
         this.changeDispatcher = changeDispatcher;
         this.indexProvider = indexProvider;
+        this.sessionName = "session-" + SESSION_COUNTER.incrementAndGet();
     }
 
     private void checkLive() {
@@ -127,4 +135,8 @@
         }
     }
 
+    @Override
+    public String toString() {
+        return sessionName;
+    }
 }
Index: oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java	(revision 0311fabd8a2f1c44e784a75feb892da601719aea)
+++ oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/delegate/SessionDelegate.java	(revision )
@@ -402,4 +402,8 @@
         return exception.asRepositoryException();
     }
 
+    @Override
+    public String toString() {
+        return contentSession.toString();
+    }
 }
