-diff --git a/lib/Basics/ConditionLocker.cpp b/lib/Basics/ConditionLocker.cpp
-index e9469e6..097ef7b 100644
---- a/lib/Basics/ConditionLocker.cpp
-+++ b/lib/Basics/ConditionLocker.cpp
-@@ -96,6 +96,14 @@ void ConditionLocker::wait () {
- }
- 
- ////////////////////////////////////////////////////////////////////////////////
-+/// @brief waits for an event to occur, with a timeout
-+////////////////////////////////////////////////////////////////////////////////
-+
-+bool ConditionLocker::wait (uint64_t delay) {
-+  return _conditionVariable->wait(delay);
-+}
-+
-+////////////////////////////////////////////////////////////////////////////////
- /// @brief broadcasts an event
- ////////////////////////////////////////////////////////////////////////////////
- 
-diff --git a/lib/Basics/ConditionLocker.h b/lib/Basics/ConditionLocker.h
-index 4114fe3..543f389 100644
---- a/lib/Basics/ConditionLocker.h
-+++ b/lib/Basics/ConditionLocker.h
-@@ -139,6 +139,12 @@ namespace triagens {
-         void wait ();
- 
- ////////////////////////////////////////////////////////////////////////////////
-+/// @brief waits for an event to occur, using a timeout
-+////////////////////////////////////////////////////////////////////////////////
-+
-+        bool wait (uint64_t);
-+
-+////////////////////////////////////////////////////////////////////////////////
- /// @brief broadcasts an event
- ////////////////////////////////////////////////////////////////////////////////
- 
-
+diff --git a/arangod/Ahuacatl/ahuacatl-collections.c b/arangod/Ahuacatl/ahuacatl-collections.c
+index 3113434..6ec924a 100644
+--- a/arangod/Ahuacatl/ahuacatl-collections.c
++++ b/arangod/Ahuacatl/ahuacatl-collections.c
+@@ -402,12 +402,14 @@ bool TRI_ReadLockCollectionsAql (TRI_aql_context_t* const context) {
+     lockResult = documentCollection->beginRead(documentCollection);
+     if (lockResult != TRI_ERROR_NO_ERROR) {
+       // couldn't acquire the read lock
++      LOG_WARNING("read-locking collection '%s' failed", collection->_name);
+       result = false;
+       TRI_SetErrorContextAql(context, TRI_ERROR_QUERY_COLLECTION_LOCK_FAILED, collection->_name);
+       break;
+     }
+     else {
+       collection->_readLocked = true;
++      TRI_AQL_LOG("read-locked collection '%s'", collection->_name);
+     }
+   }
+ 
+@@ -484,6 +486,7 @@ bool TRI_AddBarrierCollectionsAql (TRI_aql_context_t* const context) {
+     if (!ce) {
+       // couldn't create the barrier
+       result = false;
++      LOG_WARNING("adding barrier for collection '%s' failed", collection->_name);
+       TRI_SetErrorContextAql(context, TRI_ERROR_OUT_OF_MEMORY, NULL);
+       break;
+     }
 diff --git a/arangod/V8Server/ApplicationV8.cpp b/arangod/V8Server/ApplicationV8.cpp
 index d200d55..c65fa15 100644
 --- a/arangod/V8Server/ApplicationV8.cpp

     TRI_EndUsageDataShadowData(vocbase->_cursors, cursor);
     return scope.Close(v8::Number::New(length));
   }
@@ -1666,6 +1664,32 @@ static v8::Handle<v8::Value> JS_HasNextGeneralCursor (v8::Arguments const& argv)
 }
 
 ////////////////////////////////////////////////////////////////////////////////

 
   v8::Handle<v8::String> _CollectionFuncName = v8::Persistent<v8::String>::New(v8::String::New("_collection"));
   v8::Handle<v8::String> _CollectionsFuncName = v8::Persistent<v8::String>::New(v8::String::New("_collections"));
@@ -5165,12 +5246,17 @@ TRI_v8_global_t* TRI_InitV8VocBridge (v8::Handle<v8::Context> context, TRI_vocba
   rt->Set(IdFuncName, v8::FunctionTemplate::New(JS_IdGeneralCursor));
   rt->Set(NextFuncName, v8::FunctionTemplate::New(JS_NextGeneralCursor));
   rt->Set(PersistFuncName, v8::FunctionTemplate::New(JS_PersistGeneralCursor));
