Our main has a "on_terminate()" to make sure it exits when there is an
exception during initialization, instead of hanging. But it's in the
wrong place - it needs to be on the outer future.
Before this patch, an error parsing the command line will result in
a "WARNING: exceptional future ignored ..." and a hang, instead of a
"Exiting on unhandled exception..." and an exit as we get after this
patch.
Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
* seastar 732dba1...beeaccb (4):
> future: fix parallel_for_each returning to quickly on error
> tests: add test case for parallel_for_each early return on error
> net::dpdk::i40e_should_linearize(): Don't assume that all headers are in frag0
> net::dpdk: rename max_non_tso_i40e_frags
Handling row marker expiry from Pawel:
This series fixes row expiration. Row markers are used to make sure that
row exists even if it has no cells and therefore they also need to be
expired properly. Origin gets that for free since in their architecture
row marker is a normal cell. We use different approach with deletable_row
storing marker information and therefore additional logic must be added
to make sure that expiration works correctly.
INSERT statements update row marker ttl and expiry to the same values
which are set to the added/modified cells.
Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
Row marker can be in one of three states: missing, live (possibly
expiring) or dead. Since it basically behaves like a normal cell, except
it doesn't have any value, row_marker class provides an interface
similar to atomic_cell.
Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
The are additional items that need to be updated and aligned:
token-vnodes, snitches, save_cached etc.
Signed-off-by: Shlomi Livne <shlomi@cloudius-systems.com>
Instead of just destroying the client, stop() it first and wait for that
to complete. Otherwise any connect in progress, or any requests in progress,
will access a destroyed object (in practice it will fail earlier when
the _stopped promise is destroyed without having been fulfilled).
Depends on rpc client stop patch.
"Issue #8 mentions the fact that we are missing some fields in legacy_schema_tables.
After this patchset, the only one missing is the subcomparator. That one only exists
for super tables - which we don't support - and will be null otherwise: so we don't
really need it."
Because we don't support alter table, we won't have anyone actually manipulating this.
But we will set up so it appears properly as an empty map in queries.
Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
When added to the schema and handled by legacy_schema_tables.cc, will then
appear correctly in the respective system tables.
Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
It will be stored in the schema, so move there, where it belongs. We'll need
to do more than just store a type, so provide a class that encapsulates it.
Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
So far, automatic compaction was disabled, but now that we support
size-tiered strategy, the default compaction strategy algorithm,
we could definitely enable automatic compaction by default.
Signed-off-by: Raphael S. Carvalho <raphaelsc@cloudius-systems.com>