Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assorted Jepsen test improvements #2

Conversation

aphyr
Copy link

@aphyr aphyr commented Oct 4, 2017

No description provided.

This breaks tests within containers; we're disabling it here. I don't
think these tests put that much stress on the IO subsystem, and even if
they do, Jepsen *likes* slow disks. Helps us catch things. :)
No semantic changes here; just doing some basic formatting, docstrings,
and making notes about things I don't understand or would like to fix
later.
There was a local copy of the knossos source here, which existed so that
we could have a modified version of model.clj with a custom model for
the comdb2 tests. This commit moves that custom model into the Jepsen
test, returning to using knossos as a library.
We had a copy of the Jepsen source tree checked in locally,
overriding the library version. I don't... think we actually need it
here. If anyone would like to make changes, they can open namespaces and
redefine specific functions as needed, without copying the full
namespace.
There's an issue with jdbc conn reuse that could allow a crashed
operation's transactional scope to be recovered by a subsequent
invocation. We now close the JDBC conn whenever throwing an error, and
retry with a fresh connection.

We also politely recover from transactions where a connection fails in
the initial setup phase of the txn, and introduce a five-second delay to
avoid spamming down nodes with requests.
No major changes to semantics, but we've rewritten the register client
to have unified error handling across all 3 branches, collapsed nested
let statements, removed superfluous logging, added UIDs to completion
operations, and removed code that replaced keys in completion operations
with the constant 1 instead of the requested key, which I think was a
mistake.
A lack of timeouts allowed tests to block indefinitely when a node went
unresponsive. We now have a default 5 second timeout on all SQL queries,
which significantly improves test responsiveness.
Copy link
Owner

@markhannum markhannum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ty Kyle!

@markhannum markhannum merged commit bab5345 into markhannum:port_linearizable_tests_to_testsuite Oct 5, 2017
markhannum pushed a commit that referenced this pull request Jun 18, 2020
… for debug build. Log error in release build.

Signed-off-by: Joe Mistachkin <joe@mistachkin.com>

This is the commit message #2:

Remove debug switch to cmake in Docker file.
markhannum pushed a commit that referenced this pull request Jan 21, 2022
From 74ebaadcdd8b1058bbc80bf61334fe09da1c64b5 Mon Sep 17 00:00:00 2001
From: dan <dan@noemail.net>
Date: Sat, 4 Jan 2020 16:55:57 +0000
Subject: [PATCH] Fix a problem where the loop for the RHS of a LEFT JOIN uses
 values from an IN() clause as the second or subsequent field of an index.

Signed-off-by: Nirbhay Choubey <nchoubey@bloomberg.net>
markhannum pushed a commit that referenced this pull request Feb 9, 2022
From 74ebaadcdd8b1058bbc80bf61334fe09da1c64b5 Mon Sep 17 00:00:00 2001
From: dan <dan@noemail.net>
Date: Sat, 4 Jan 2020 16:55:57 +0000
Subject: [PATCH] Fix a problem where the loop for the RHS of a LEFT JOIN uses
 values from an IN() clause as the second or subsequent field of an index.

Signed-off-by: Nirbhay Choubey <nchoubey@bloomberg.net>
markhannum pushed a commit that referenced this pull request Jan 4, 2024
This removes use of table.insert beyond array bounds which appears to
break after around ~100 elements.

Same code in Lua 5.2 returns error:
bad argument #2 to 'insert' (position out of bounds)

Signed-off-by: Akshat Sikarwar <asikarwar1@bloomberg.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants