Skip to content

File fault_injection.h

FileList > base > fault_injection.h

Go to the source code of this file

  • #include "error_manager.h"
  • #include "thread_compat.hpp"

Classes

Type Name
struct fi_test_item

Public Types

Type Name
enum FI_GROUP_CODE
typedef int(* FI_HANDLER_FUNC
enum FI_TEST_CODE
typedef struct fi_test_item FI_TEST_ITEM

Public Attributes

Type Name
const FI_TEST_CODE *const fi_Groups

Public Functions

Type Name
void fi_reset (THREAD_ENTRY * thread_p, FI_TEST_CODE code)
int fi_set (THREAD_ENTRY * thread_p, FI_TEST_CODE code, int state)
int fi_set_force (THREAD_ENTRY * thread_p, FI_TEST_CODE code, int state)
int fi_state (THREAD_ENTRY * thread_p, FI_TEST_CODE code)
int fi_test (THREAD_ENTRY * thread_p, FI_TEST_CODE code, void * arg, int state, const char * caller_file, const int caller_line)
bool fi_test_on (FI_TEST_CODE code)
int fi_thread_final (THREAD_ENTRY * thread_p)
int fi_thread_init (THREAD_ENTRY * thread_p)

Macros

Type Name
define FI_INIT_STATE 0
define FI_INSERTED (code) [**fi\_test\_on**](fault__injection_8c.md#function-fi_test_on)(code)
define FI_RESET (th, code) [**fi\_reset**](fault__injection_8c.md#function-fi_reset)([**th**](broker__monitor_8c.md#function-timeout), code)
define FI_SET (th, code, state) [**fi\_set**](fault__injection_8c.md#function-fi_set)([**th**](broker__monitor_8c.md#function-timeout), code, state)
define FI_TEST (th, code, state) [**fi\_test**](fault__injection_8c.md#function-fi_test)([**th**](broker__monitor_8c.md#function-timeout), code, [**NULL**](freelistheap_8h.md#define-null), state, [**ARG\_FILE\_LINE**](error__manager_8h.md#define-arg_file_line))
define FI_TEST_ARG (th, code, arg, state) [**fi\_test**](fault__injection_8c.md#function-fi_test)([**th**](broker__monitor_8c.md#function-timeout), code, arg, state, [**ARG\_FILE\_LINE**](error__manager_8h.md#define-arg_file_line))

Public Types Documentation

enum FI_GROUP_CODE

enum FI_GROUP_CODE {
    FI_GROUP_NONE = 0,
    FI_GROUP_RECOVERY = 1,
    FI_GROUP_MAX = FI_GROUP_RECOVERY
};

typedef FI_HANDLER_FUNC

typedef int(* FI_HANDLER_FUNC) (THREAD_ENTRY *thread_p, void *arg, const char *caller_file, const int caller_line);

enum FI_TEST_CODE

enum FI_TEST_CODE {
    FI_TEST_NONE = 0,
    FI_TEST_HANG = 1,
    FI_TEST_FILE_IO_FORMAT = 100000,
    FI_TEST_DISK_MANAGER_VOLUME_ADD = 100001,
    FI_TEST_DISK_MANAGER_VOLUME_EXPAND = 100002,
    FI_TEST_FILE_IO_WRITE_PARTS1 = 100003,
    FI_TEST_FILE_IO_WRITE_PARTS2 = 100004,
    FI_TEST_FILE_MANAGER_UNDO_TRACKER_REGISTER = 200000,
    FI_TEST_BTREE_MANAGER_RANDOM_EXIT = 300000,
    FI_TEST_BTREE_MANAGER_PAGE_DEALLOC_FAIL = 300001,
    FI_TEST_LOG_MANAGER_RANDOM_EXIT_AT_RUN_POSTPONE = 500000,
    FI_TEST_LOG_MANAGER_RANDOM_EXIT_AT_END_SYSTEMOP = 500001
};

typedef FI_TEST_ITEM

typedef struct fi_test_item FI_TEST_ITEM;

Public Attributes Documentation

variable fi_Groups

const FI_TEST_CODE* const fi_Groups[FI_GROUP_MAX+1];

Public Functions Documentation

function fi_reset

void fi_reset (
    THREAD_ENTRY * thread_p,
    FI_TEST_CODE code
) 

function fi_set

int fi_set (
    THREAD_ENTRY * thread_p,
    FI_TEST_CODE code,
    int state
) 

function fi_set_force

int fi_set_force (
    THREAD_ENTRY * thread_p,
    FI_TEST_CODE code,
    int state
) 

function fi_state

int fi_state (
    THREAD_ENTRY * thread_p,
    FI_TEST_CODE code
) 

function fi_test

int fi_test (
    THREAD_ENTRY * thread_p,
    FI_TEST_CODE code,
    void * arg,
    int state,
    const  char * caller_file,
    const  int caller_line
) 

function fi_test_on

bool fi_test_on (
    FI_TEST_CODE code
) 

function fi_thread_final

int fi_thread_final (
    THREAD_ENTRY * thread_p
) 

function fi_thread_init

int fi_thread_init (
    THREAD_ENTRY * thread_p
) 

Macro Definition Documentation

define FI_INIT_STATE

#define FI_INIT_STATE `0`

define FI_INSERTED

#define FI_INSERTED (
    code
) `fi_test_on (code)`

define FI_RESET

#define FI_RESET (
    th,
    code
) `fi_reset ( th , code)`

define FI_SET

#define FI_SET (
    th,
    code,
    state
) `fi_set ( th , code, state)`

define FI_TEST

#define FI_TEST (
    th,
    code,
    state
) `fi_test ( th , code, NULL , state, ARG_FILE_LINE )`

define FI_TEST_ARG

#define FI_TEST_ARG (
    th,
    code,
    arg,
    state
) `fi_test ( th , code, arg, state, ARG_FILE_LINE )`


The documentation for this class was generated from the following file cubrid/src/base/fault_injection.h