* chore(deps): Bump chrono from 0.4.26 to 0.4.27
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.26 to 0.4.27.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.26...v0.4.27)
---
updated-dependencies:
- dependency-name: chrono
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
* chore: Run cargo hakari tasks
* fix: Update deprecated chrono methods to their now-recommended versions
`chrono::DateTime::<Tz>::from_utc` has been deprecated and it's now
recommended to use `chrono::DateTime::from_naive_utc_and_offset`
instead.
<https://github.com/chronotope/chrono/pull/1175>
Note that the `Timestamp` type in `influxdb_influxql_parser` is an alias
for `chrono::DateTime<FixedOffset>`.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: CircleCI[bot] <circleci@influxdata.com>
Co-authored-by: Carol (Nichols || Goulding) <carol.nichols@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
If tables can be created with a custom partition template (or the namespace
has a custom partition template) then this should be exposed to the user
interacting with it through the CLI too!
Adds a "mst" (merkle search tree) submodule in anti_entropy, and moves
all the MST code into it.
This makes space for a gossip-based sync primitive to live here too.
Configures the ingesters to gossip parquet file persistence
notifications to listening peers.
Because there's no current listeners, this will be a no-op - the gossip
subsystem will not send the messages as no peer will be registered as
interested in them, so the frame rate metrics, etc, will not change
until something registers as interested in the new topic.
This allows a caller to obtain the socket address of a peer identity,
and therefore the address from which a message came from.
I think the use cases of this are pretty slim (which is why I purposely
kept the concept of peers out of the handle) but it definitely is useful
as a primitive service discovery directory.
The identity contains both a UUID, and the byte representation of this
UUID. This change retains the latter, generating the former on-demand
(which is rarely needed).
This halves the size of the identity, and the underlying Bytes storage
is a ref-counted container, making clones very cheap.
Separate the management of the Merkle Search Tree state into an actor
to manage concurrent access.
This moves hashing and tree updates off of the hot request path, and
into an asynchronous background process, practically eliminating
overhead for maintaining the MST structure.
This decoupling will allow convergence runs between peers to proceed
without causing contention on the lock in the request hot path.
Provide a new broadcast_subset() method to gossip users, enabling a
message to be sent to a random subset of peers that have a registered
interest in the message being dispatched.
Don't fail to compile / run tests because of an unreachable pub, or
missing debug impl - just emit a compiler warning.
This lets the compilation complete, but isn't accepted in PRs as CI runs
with "deny warnings".