• J
    Add unit tests for append-optimized usage of invalid_page_tab hash table · 74d07939
    Jimmy Yih 提交于
    cdbappendonlystorage_test.c:
    Test that calling appendonly_redo with XLOG_APPENDONLY_INSERT or
    XLOG_APPENDONLY_TRUNCATE will call ao_insert_replay or
    ao_truncate_replay respectively.
    
    xlog_mm_test.c:
    Test that an MMXLOG_REMOVE_FILE AO transaction log record will call
    XLogAODropSegmentFile.
    
    cdbmirroredappendonly_test.c:
    Test that ao_insert_replay or ao_truncate_replay will call
    XLogAOSegmentFile when we cannot find the AO segment file.
    
    xlogutils_test.c:
    Test that the invalid_page_tab hash table is properly used when
    invalid AO segment files are encountered.
    
    These four pieces combined will test the case when AO XLOG records are
    replayed but the corresponding segment files are missing from
    filesystem. The replay is entered into the invalid_page_tab hash table
    until a corresponding MMXLOG_REMOVE_FILE XLOG record type comes along
    to remove the entry.
    
    Currently these unit tests are under --enable-segwalrep configure flag
    in the Makefile but can be moved to the actual TARGET if non-segwalrep
    tests are added and need to be tested.
    
    Reference:
    https://github.com/greenplum-db/gpdb/commit/b659d0479fa57c383e7dbe15043cd2ca9d46f77f
    74d07939
Makefile 722 字节