1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-12-17 01:02:23 +03:00
Commit Graph

34 Commits

Author SHA1 Message Date
Patrick LeBlanc
3fe2a4859c Several fixes / improvements....
- normalized pathnames passed to IOC functions
 - fixed a race that could leave files orphaned in cloud storage
 - fixed a couple small things in Metadatafile
 - added metadata sanity checks to Sync fcns to detect truncation &
   deletion before they do work
2019-05-30 10:56:45 -05:00
Ben Thompson
9351962942 Add sync forceFlush and modified unit_test to be in working state again. 2019-05-28 15:18:19 -05:00
Patrick LeBlanc
b9d7a2e4c4 Fixed the deadlock in our sanity check code in synchronizer. 2019-05-28 10:51:15 -05:00
Patrick LeBlanc
9a1dc8a4c5 Removed some redundant assertions around deleting files,
commented the one in replicator::remove() to get ready for milestone-2,
and to make the unit test work.
2019-05-28 09:57:26 -05:00
Patrick LeBlanc
0cad8308f1 Untangled cache flushing behavior s.t. it should no longer deadlock.
Now, something that grabs the sync or cache locks should never block
while holding the lock.  Need to review the code to make sure of that.

Also made the recursive mutexes non-recursive again.
2019-05-24 13:02:09 -05:00
Patrick LeBlanc
a32e6c7bb4 Fixed a possible size mismatch in Sync, which could be caused
by a truncated logical file.
2019-05-23 13:41:24 -05:00
Patrick LeBlanc
0dcbc10b5e Added assertions around the file deletes in syncwithjournal. 2019-05-21 16:05:27 -05:00
Patrick LeBlanc
28495c7e90 Fixed a bug in sync with journal where a cloud object would
not be deleted after a journal merge.
2019-05-17 16:02:34 -05:00
Patrick LeBlanc
77b682f9cd Fixed a few problems in Sync.
- flushObject() could wait on an element in objNames which
   doesn't exist, and so it would not get processed.
 - process() would not always delete its job from objNames
 - Added add'l debugging printouts and a fallback case for when
   syncWithJournal does not find a journal file.
 - noticed a name collision between the scoped ops in syncWithJournal (harmless)
2019-05-17 09:09:24 -05:00
Patrick LeBlanc
cd83b26d6b Was incrementing the wrong iterator, causing infinite loop. 2019-05-16 11:55:43 -05:00
Patrick LeBlanc
aad393dd34 Fixed a bug in Sync where we were using an object through a
reference to a shared pointer.  A deref of the shared ptr could
trigger the dtor of the object while threads are waiting.  Fixed that
by properly copying the shared ptr.
2019-05-13 12:11:16 -05:00
Patrick LeBlanc
53a88fdc09 Fixed a minor bug in error reporting. 2019-05-10 13:49:00 -05:00
Patrick LeBlanc
1ee3c760b1 Changed Sync s.t. it starts processing jobs every 10 seconds instead
of every time there's an event.  Big improvement in efficiency.
2019-04-25 12:07:30 -05:00
Patrick LeBlanc
7eebc7f06f Fixed a really dumb error where I had Sync writing 0's over the data.
Also added a couple things out of paranoia.
2019-04-24 11:33:34 -05:00
Patrick LeBlanc
3cb971e98b Tentative, unappetizing, but quick to implement fix for a mem
corruption issue where the size of the array passed in was too small.
2019-04-22 12:35:06 -05:00
Patrick LeBlanc
e51bb230ed Changed the mergeJournal* usage under the assumption that the
metadata contains the merged length, not the object's unmerged
length.
2019-04-12 17:23:59 -05:00
Patrick LeBlanc
5443f8662c Checkpointing some paranoid assertions & some fixes I noticed. 2019-04-12 15:08:01 -05:00
Patrick LeBlanc
88efa1c1f3 Fix to the sync requeuing logic. 2019-04-08 10:48:30 -05:00
Patrick LeBlanc
0be099769b Cleaned up a kludge, and made the retry behavior requeue a job
rather than wait forever to it to work in the same thread.
2019-04-08 10:40:28 -05:00
Patrick LeBlanc
6f234f45c0 More fixes around sync, error handling, and logging. 2019-04-05 16:38:37 -05:00
Patrick LeBlanc
1879499ad3 Fixed a few random things. 2019-04-05 14:10:59 -05:00
Patrick LeBlanc
a813581567 Got it to build. Getting into to some header file madness, but moving on. 2019-03-27 17:44:50 -05:00
Patrick LeBlanc
6bd4b60a7b Checkpointing mods for IOC::read(). Doesn't build yet. 2019-03-27 16:27:15 -05:00
Ben Thompson
c1a33111f6 Update Metadata and Replicator to use configure file paths. Update unit_tests to work and cleanup as expected. 2019-03-26 17:24:03 -05:00
Patrick LeBlanc
ed6caeb830 Fixed up the Sync unit test, fixed a couple things in S3Storage,
it's working now.
2019-03-26 15:58:22 -05:00
Patrick LeBlanc
4ff769ab24 Got a pretty decent unit test for Sync working. 2019-03-22 12:04:36 -05:00
Patrick LeBlanc
323fd18953 Fixed some stuff, got a basic unit test for sync to work. 2019-03-21 15:23:23 -05:00
Patrick LeBlanc
07b4bdd19c Got the synchronizer stuff to build. 2019-03-21 12:42:10 -05:00
Patrick LeBlanc
2990d320aa Checkpointing some unit test stuff, won't build yet. 2019-03-20 13:17:16 -05:00
Patrick LeBlanc
97d2844994 Made Sync take into account that object names may change
beteween when a job is created and when it is run.
2019-03-19 17:24:32 -05:00
Patrick LeBlanc
6366a54bbc Revamped/simplified the Sync impl. Won't build yet. 2019-03-18 14:49:25 -05:00
Patrick LeBlanc
931cb9fb54 First cut of synchronizer is done, won't build yet. 2019-03-15 14:08:19 -05:00
Patrick LeBlanc
9906ff9efb Check pointing some changes I made all over the place
working on Synchronizer.  Won't build yet.
2019-03-11 16:09:07 -05:00
Patrick LeBlanc
df6675db01 Checkpointing additions to Cache 2019-03-07 13:18:38 -06:00