74 typedef std::map<Key, Page>
Pages;
88 typedef std::map<std::string, std::unique_ptr<Sync_point>>
Sync_points;
115 void sync_point(
const std::string &sync_point_name);
118 const std::string &sync_point_name,
119 std::unique_ptr<Sync_point> &&sync_point_handler);
135 lsn_t newest_modification);
138 lsn_t newest_modification);
153extern std::unique_ptr<Log_test>
log_test;
171 const std::string crash_var_name = std::string{
"crash_"} + sync_point_name;
175 log_test->sync_point(sync_point_name);
uint32_t page_no_t
Page number.
Definition: api0api.h:48
Definition: log0test.h:76
virtual ~Sync_point()=default
It is a environment for tests of redo log.
Definition: log0test.h:62
void purge(lsn_t max_dirty_page_age)
Definition: log0test.cc:75
const Pages & flushed() const
Definition: log0test.cc:240
std::mutex m_purge_mutex
Definition: log0test.h:141
std::map< Key, Page > Pages
Definition: log0test.h:74
int verbosity() const
Definition: log0test.cc:276
void sync_point(const std::string &sync_point_name)
Definition: log0test.cc:244
void set_verbosity(int level)
Definition: log0test.cc:278
void recovered_add(Key key, Value value, lsn_t oldest_modification, lsn_t newest_modification)
Definition: log0test.cc:228
uint64_t m_options_enabled
Definition: log0test.h:147
Pages m_flushed
Definition: log0test.h:144
void fsync_written_pages()
Definition: log0test.cc:65
void register_sync_point_handler(const std::string &sync_point_name, std::unique_ptr< Sync_point > &&sync_point_handler)
Definition: log0test.cc:254
Pages m_recovered
Definition: log0test.h:145
void set_enabled(Options option, bool enabled)
Definition: log0test.cc:264
Pages m_written
Definition: log0test.h:143
int flush_every() const
Definition: log0test.cc:272
std::mutex m_mutex
Definition: log0test.h:140
void recovered_reset(Key key, lsn_t oldest_modification, lsn_t newest_modification)
Definition: log0test.cc:217
static byte * create_mlog_rec(byte *rec, Key key, Value value, size_t payload)
Definition: log0test.cc:122
std::map< lsn_t, Page > m_buf
Definition: log0test.h:142
int m_flush_every
Definition: log0test.h:149
bool enabled(Options option) const
Definition: log0test.cc:260
const Pages & recovered() const
Definition: log0test.cc:242
Sync_points m_sync_points
Definition: log0test.h:146
int64_t Value
Definition: log0test.h:65
static byte * parse_mlog_rec(byte *begin, byte *end, Key &key, Value &value, lsn_t &start_lsn, lsn_t &end_lsn)
Definition: log0test.cc:161
int m_verbosity
Definition: log0test.h:148
void add_dirty_page(const Page &page)
Definition: log0test.cc:54
void set_flush_every(int flush_every)
Definition: log0test.cc:274
Options
Definition: log0test.h:83
@ VALIDATE_RECENT_WRITTEN
lsn_t oldest_modification_approx() const
Calculates oldest_modification of the earliest added dirty page during the test in log0log-t.
Definition: log0test.cc:48
std::map< std::string, std::unique_ptr< Sync_point > > Sync_points
Definition: log0test.h:88
page_no_t Key
Definition: log0test.h:64
a nullable SQL value.
Definition: sql_value.h:39
int page
Definition: ctype-mb.cc:1235
Declarations for the Debug Sync Facility.
#define CONDITIONAL_SYNC_POINT(NAME)
Definition: debug_sync.h:127
std::unique_ptr< Log_test > log_test
Represents currently running test of redo log, nullptr otherwise.
Definition: log0test.cc:46
static void log_sync_point(const char(&sync_point_name)[N])
This function is responsible for three actions:
Definition: log0test.h:168
uint64_t lsn_t
Type used for all log sequence number storage and arithmetic.
Definition: log0types.h:62
#define DBUG_EXECUTE_IF(keyword, a1)
Definition: my_dbug.h:170
#define DBUG_SUICIDE()
Definition: my_dbug.h:227
Common header for many mysys elements.
std::atomic< Type > N
Definition: ut0counter.h:224
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:191
required string key
Definition: replication_asynchronous_connection_failover.proto:59
Definition: log0test.h:67
lsn_t oldest_modification
Definition: log0test.h:70
Key key
Definition: log0test.h:68
Value value
Definition: log0test.h:69
lsn_t newest_modification
Definition: log0test.h:71