Version numbers

Please, note that the versioning mechanism presented here applies to both the metadata services (the REST API) and the loading tools. Changes in any would result in a change in the version number reported by the metadata service.

The current version of the API could be fetched using a special metadata service documented in the section Obtaining the current version of the API. The current documentation expects the service to return (upon successful completion of a request as explained in Error reporting in the REST API) the JSON object which has the following value of the attribute version:

{...
 "version":17
}

Since workflow implementations would be written with some specific version of the API in mind, they (the workflows) are expected to call this service to see if the implementation is compatible with the current version of the Ingest system of a given Qserv deployment. Formally, both versions should match. Otherwise, it would be hard to predict how the application will behave while attempting to ingest data into Qserv. In some cases, failure caused by version incompatibility may happen at some later stage of the campaign, which may result in wasting time and resources.

As of version 12, the API is offering a more advanced (flexible) mechanism for working with the versions. Please, see details in the JIRA ticket linked from the section Optional version numbers in calls to the REST API.

The summary info on the versions

VersionInfo
1The initial implementation
2Added support for ingesting contributions "by reference" from object stores and distributed file systems
3Changes in the location service for the fully-replicated tables
4Refined control of the desired CSV dialect when ingesting contributions
5Better error handling in the table index creation REST service
6Asynchronous protocol for ingesting contributions
7Added support for many director tables per catalog
8Minor changes to the REST services that do not affect the Ingest API
9Added support for ingesting the RefMatch tables
10Added the FQDN names to the worker registration records
11

Ingesting catalogs into Qserv via HTTP(S) proxies

12Optional version numbers in calls to the REST API
13Process and report MySQL warnings when ingesting table contributions
14Concurrency control when processing async contribution requests
15Specifying character sets when ingesting contributions
16Automatic retries for the failed contribution requests
17Display info on the table indexes at the Qserv Web Dashboard
18

Minor changes to the REST services that do not affect the Ingest API

19Minor changes to the REST services that do not affect the Ingest API
20Eliminate non-local director index ingest option in the Qserv Replication/Ingest system
21Configuring non-unique primary keys of the director tables in Qserv Ingest API
22The director index creation service requires the director tables to be published
23Minor changes to the REST services that do not affect the Ingest API
24Minor changes to the REST services that do not affect the Ingest API
25

The Replication Controller has an additional command-line parameter --qserv-czar-proxy=<url> that allows the Controller to interact with Qserv via the front-end interface. (warning) The default value "mysql://qsmaster@localhost:4040/" of the parameter will not work in deployments where Controller and Qserv Czar run on different hosts (Kubernetes pods).

26Minor changes to the REST services that do not affect the Ingest API
27HTTP-based worker management control plane
28Extended work management REST API. See HTTP-based management protocol for Qserv workers. The change does not affect the Ingest API.
29TBC...
30Added HTTP-based frontend for Qserv. The change does not affect the Ingest API.
  • No labels