I'm seeing a memory leak, I'm guessing it's part of the autocommit changes?
==13511== 80 bytes in 1 blocks are definitely lost in loss record 160 of 643 ==13511== at 0x25A96B: malloc (in /usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so) ==13511== by 0x25AAB4: realloc (in /usr/local/lib/valgrind/vgpreload_memcheck-amd64-freebsd.so) ==13511== by 0x2DDA39F: __wt_realloc (os_alloc.c:75) ==13511== by 0x2DBE0AD: __wt_txn_modify (txn.i:26) ==13511== by 0x2DBDF88: __wt_update_alloc (row_modify.c:323) ==13511== by 0x2DBCF61: __wt_row_modify (row_modify.c:129) ==13511== by 0x2D97BD7: __wt_btcur_insert (bt_cursor.c:312) ==13511== by 0x2DC8A25: __curfile_insert (cur_file.c:175) ==13511== by 0x2DD8E10: __wt_metadata_insert (meta_table.c:142) ==13511== by 0x2DDF7F9: __create_file (schema_create.c:54) ==13511== by 0x2DE0B04: __wt_schema_create (schema_create.c:395) ==13511== by 0x2DEA02C: __session_create (session_api.c:256)
Here's a Python script that generates it.
import wiredtiger, wttest from helper import key_populate, value_populate class test_f(wttest.WiredTigerTestCase): def test_f(self): self.session.create( 'file:x', 'key_format=S,value_format=S') cursor = self.session.open_cursor('file:x', None) for i in range(1, 10): cursor.set_key(key_populate(cursor, i)) cursor.set_value("======== VALUE =======") cursor.insert() cursor.close() self.session.checkpoint() if __name__ == '__main__': wttest.run()