anchor.diff:  
   get_size_from_cache(CacheName, FileId) ->
       case ets:lookup(CacheName, {FileId, file_size}) of
  -        [{_,{_, Size}}] -> Size;
  +        [{_, Size = {_,_}}] -> Size;
           [] -> undefined
       end.
   
   get_docs_from_cache(CacheName, FileId) ->
       case ets:lookup(CacheName, {FileId, all_docs}) of
  -        [{_,{_, Docs}}] -> Docs;
  +        [{_, Docs}] when is_list(Docs) -> Docs;
           [] -> undefined
       end.
   
  
positive.code:             ets:delete_object(CacheName, {FileId, old_file_size}),
              ets:insert(CacheName, {{FileId, file_size}, NewSizeTuple}),
              fslogic_events:on_file_size_update(FileId, 0, NewSize);
          [{_,{_, OldSize}}] when OldSize =/= NewSize ->
              ets:delete_object(CacheName, {FileId, old_file_size}),
              ets:insert(CacheName, {{FileId, file_size}, NewSizeTuple}),
              fslogic_events:on_file_size_update(FileId, OldSize, NewSize);
  
negative.code:     end,
      ets:insert(CacheName, {{FileId, file_size}, NewSize}).
  
  update_docs_cache(CacheName, FileId, Docs) when is_list(Docs) ->
      ets:insert(CacheName, {{FileId, all_docs}, Docs}).
  
  clear_size_cache(CacheName, FileId) ->
      case ets:lookup(CacheName, {FileId, file_size}) of
          [{_, OldSize = {_,_}}] ->
              ets:insert(CacheName, {{FileId, old_file_size}, OldSize}),
              ets:delete_object(CacheName, {FileId, file_size}),
              OldSize;
          [] ->
              ets:delete_object(CacheName, {FileId, old_file_size}),
              ets:delete_object(CacheName, {FileId, file_size}),
              undefined
  