anchor.diff:          , snap_err/2
           , do_snapshot/0
           , do_snapshot/1
  -        , do_cluster_snapshot/0
           , all_snap_tables/0
           , all_local_time_partitioned_tables/0
           ]).
   
   -safe([all_snap_tables,filter_candidate_list, get_snap_properties,
  -        set_snap_properties,snap_log,snap_err,take,
  -          do_snapshot/0,do_cluster_snapshot/0]).
  +       set_snap_properties,snap_log,snap_err,take, do_snapshot/0]).
   
   -define(BKP_EXTN, ".bkp").
   -define(BKP_TMP_EXTN, ".bkp.new").
  
positive.code:                      case catch is_process_alive(State#state.csnap_pid) of
                           true -> State;
                           _ ->
                               State#state{csnap_pid = (#state{})#state.csnap_pid}
                       end;
                   _ ->
  
negative.code:             ok = file:del_dir(Dir),
              ?Info("cluster snapshot ~s", [ZipFile])
      end,
      ?Info("cluster snapshot took ~p ms", [?TIMESTAMP_DIFF(StartTime, ?TIMESTAMP) div 1000]),
      erlang:send_after(1000, ?MODULE, {cluster_snap, '$replace_with_timestamp', '$create_when_needed'}),
      ok;
  cluster_snap(Tabs, StartTime, '$create_when_needed') ->
      cluster_snap(Tabs, StartTime, create_clean_dir(?BKP_ZIP_PREFIX));
  cluster_snap([T|Tabs], {_,_} = StartTime, Dir) ->
      NextTabs = case catch take_chunked(imem_meta:physical_table_name(T), Dir) of                   
                     ok ->
                         ?Info("cluster snapshot ~p", [T]),
                          Tabs;
                     {'ClientError', {"Table does not exist", T}} ->
                         ?Warn("cluster snapshot - Table : ~p does not exist", [T]),
                         Tabs;
                     [{error,Error}] ->
                         ?Error("cluster snapshot failed for ~p : ~p", [T, Error]),
                         Tabs++[T];
                     Error ->
                         ?Error("cluster snapshot failed for ~p : ~p", [T, Error]),
                         Tabs++[T]
                 end,
      ?MODULE ! {cluster_snap, NextTabs, StartTime, Dir},
      ok.
  
  handle_info({cluster_snap, StartTime, Dir}, State) ->
      handle_info({cluster_snap, ?GET_CLUSTER_SNAPSHOT_TABLES, StartTime, Dir}, State);
  handle_info({cluster_snap, Tables, StartTime, Dir}, State) ->
      {noreply,
       case ?GET_CLUSTER_SNAPSHOT of
           true ->
  