20 #include <glog/logging.h>
34 LOG(INFO) <<
"Writing a metadata log. " << metalog->
header_ <<
"...";
44 LOG(INFO) <<
"Issued an epoch for the metadata log: " << *commit_epoch <<
"...";
63 std::this_thread::sleep_for(std::chrono::microseconds(100));
67 LOG(INFO) <<
"Wrote a metadata log. " << metalog->
header_ <<
"...";
71 o <<
"<MetaLogBuffer>"
75 <<
"</MetaLogBuffer>";
void set_epoch(Epoch epoch) __attribute__((always_inline))
Epoch get_current_global_epoch() const
Returns the current global epoch, the epoch a newly started transaction will be in.
Root package of FOEDUS (Fast Optimistic Engine for Data Unification Services).
Engine * engine_
Most attachable object stores an engine pointer (local engine), so we define it here.
Declares common log types used in all packages.
MetaLogControlBlock * control_block_
The shared data on shared memory that has been initialized in some SOC or master engine.
Auto-lock scope object for SharedMutex.
std::ostream & operator<<(std::ostream &o, const LogHeader &v)
xct::XctManager * get_xct_manager() const
See Transaction Manager.
void advance_current_global_epoch()
Requests to advance the current global epoch as soon as possible and blocks until it actually does...
void memory_fence_acquire()
Equivalent to std::atomic_thread_fence(std::memory_order_acquire).
#define ASSERT_ND(x)
A warning-free wrapper macro of assert() that has no performance effect in release mode even when 'x'...