get bucket with a snapshot, and generate the snapshot with a lock,
    make it an atomic