Truncate statement AST class is converted to C++ (although its
functionality is unimplemented). Enable the CQL grammar definition so
that users get an "not implemented" error instead of a syntax error.
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
Aside from guaranteeing that we will always leave correctly, it will also
allow us to change the implementation of the enter / leave pair without
disrupting existing code.
Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
Execute a function making sure it is wrapped in a gate.
This can afford to be considerably simpler than do_with, since we are not
playing any games with object creation, and the gate itself can be assumed to
be relatively long lived.
Among other things, this will allow us to make changes to enter / leave without
breaking existing code, and experiment with stronger ways of doing leave - as
Avi suggested recently.
Signed-off-by: Glauber Costa <glommer@cloudius-systems.com>
"The column family matrics is a set of data related to the column family.
This series adds an API based on the ColumnFamilyMetrics mbean.
It has a stub implementation, just so the JMX proxy would get a response."
Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
New in v2:
- Use std::partition_copy() and boost::range::algorithm::partition().
- Don't use std::move() when returning a local vector variable.
"This series adds the hinted handoff and hinted handoff metrics API with a stub
implementation. The API definition was based on the HintedHandOffMetricsMBean
and the HintedHandoffMetrics."
Conflicts:
api/api.cc
configure.py
"This series adds the cache service metrics API, It is based on the CacheMetrics
definitions.
There are statistics on per key, row and counters that will be expose in the
API. This series contain a stub implementation, that returns the correct types
but with a stub value."
"This series adds the compaction_manager that is based on the
CompactionManagerMBean and its metrics that is based on the CompactionMetrics.
It contain a stub implementation so that the API can be accessed from the JMX
API.
The doc file can be found:
/api-doc/compaction_manager/"
This adds a stub implementation for the hinted handoff metrics.
The stubbed methods return the correct type, but with a stub value.
After this patch the following path will be available:
/hinted_handoff/metrics/create_hint/{addr}
/hinted_handoff/metrics/not_stored_hints/{addr}
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the metrics to hinted_handoff, the metrics is based on the
HintedHandoffMetrics definition.
The following commands were added:
get_create_hint_count
get_not_stored_hints_count
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds a stub implementation for the hinted handoff.
The API returns the currect type but with stubed values.
After applying this patch the api-doc will be available at:
/api-doc/hinted_handoff/
The following url will be available:
/hinted_handoff/hints
/hinted_handoff/schedule
/hinted_handoff/pause
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the swagger definition file for the hinted_handoff.
The API is based on the HintedHandOffMBean definition.
It adds the following command:
st_endpoints_pending_hints
truncate_all_hints
schedule_hint_delivery
pause_hints_delivery
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
write() will now write framing information. It will be needed when
serializing many mutations. The old version was left as
write_without_framing().
This change also makes the serializer interface closer to that of
db::serializer<>. To write an object, the serializer instance is
instantiated with the object and remembers the size, so that size
calculation doesn't have to be repeated again for write().
Proper TTL handling from Pawel:
"These patches add support for expiring cells (i.e. the ones with TTL set).
is_live() and is_dead() member functions of atomic cell now take current
timestamp as argument and return appropriate value depending on whether
the cell has expired or not. In order to avoid partially expired rows
timestamp of a request is appropriately propagated"
This, intended for tests, feature allows testing time related event without
need for real time waits.
Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
For simplicity in expiration time computations 0 is used as current
timestamp, make sure that sstable write code is aware of that and
doesn't consider cells as already expired.
Signed-off-by: Paweł Dziepak <pdziepak@cloudius-systems.com>
This adds the implementation for the API endpoint_snitch
After this patch the API doc can be found at:
/api-doc/endpoint_snitch_info/
The following url are available:
/snitch/datacenter
/snitch/rack
The get name is stubed
/snitch/name
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
This adds the Swagger definition for the endpoint_snitch_info that is
based on the EndpointSnitchInfoMBean.
The following commands where added:
get_datacenter
get_rack
get_snitch_name
Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
Currently if rpc handler returns smart pointer rpc will try to serialize
the pointer object as opposite to an object the ptr is pointing to.
This patch fixes it by serializing real object instead of a pointer.