Skip to content

v6

Compare
Choose a tag to compare
@spbnick spbnick released this 04 Aug 15:36

A major release of KCIDB. Changes include:

  • Implement schema v3.0, with the following changes. See the attached kcidb.v3.0.schema.json for details.
    • Re-introduce the separate origin field, but keep the origin in IDs as necessary, regardless.
    • Tighten the definition of the revision ID: now it must be the commit hash, optionally followed by a plus (+) character and a sha256 hash identifying the applied patches. This allows correlating received reports across submitters.
    • Add tree_name field to revisions, containing the widely-recognized name of the base code's sub-tree. E.g. "mainline", or "net-next".
    • Rename revision fields git_repository_commit_name and git_repository_commit_hash to git_commit_name and git_commit_hash respectively, making them easier to read and not linked to the containing repository.
    • Require Git repository URLs to start with either https:// (preferably) or git://.
  • Add kcidb-notify tool, taking new (and existing) I/O data and outputting NUL-terminated notification messages. Could be used to debug notifications, or as an alternative way of generating them in production.
  • Add support for merging I/O data, and the corresponding kcidb-merge tool. Could be useful for merging smaller submissions together into bigger ones.
  • Add support for specifying logging level to every command-line tool. Nothing much is logged yet, only queries executed by the database client. The default level is NONE, disabling any logging.
  • Add minimal logging to Google Cloud Functions, set INFO as the log level.
  • Log data coming to Google Cloud Functions with DEBUG level.
  • Add a dummy subscription for mainline tree failures.
  • Support sending notifications to selected subscriptions only in Google Cloud Functions, select "mainline".
  • Support querying objects using exact IDs (both for library and command-line tools), in addition to LIKE patterns, which works much faster.
  • Switch to querying exact object IDs in notification generation, speeding it up dramatically.
  • Add X-KCIDB-Notification-ID header to notification messages, containing the (unique) notification ID.
  • Support and require specifying the Firestore collection path with the spooled notifications, both for Google Cloud Functions and the kcidb-spool-wipe tool.

The IDs in the existing dataset were updated for the new schema using the attached update-revision-ids script.