Fixes#2015
## Changes
Based on discussions in the messaging workgroup and in issue #2015, this
PR proposes to remove `messaging.consumer.id`, and to replace both
`messaging.kafka.client_id` and `messaging.rocketmq.client_id` with a
generic `messaging.client_id`.
`messaging.consumer.id` is defined to always be set to the `client_id`
of the used messaging system, except for Kafka, where it was defined to
be a combination of `messaging.kafka.client_id` and
`messaging.kafka.consumer.group`, or just the latter if
`messaging.kafka.client_id` is not available. With this definition, the
semantics of `consumer.id` are different between messaging systems, and
even different for different Kafka scenarios.
The proposed `messaging.client_id` has consistent semantics ("an unique
client id, when it is available"), and can be used instead of
`messaging.consumer.id` in almost all cases.
In addition to have consistent semantics, this also simplifies the
semantic conventions, as instead of
`messaging.consumer.id`
`messaging.kafka.client_id`
`messaging.rocketmq.client_id`
there is now just:
`messaging.client_id`.
## Changes
As per the discussion on #3188, we determined it is better to move
rather than remove as this attribute is still important for some systems
despite it containing duplicated information.
Fixes#1760
## Changes
Removes `db.cassandra.keyspace` and `db.hbase.namespace` (in preference for using `db.name`).
Clarifies `db.name` in the case where a database product provides multiple concepts that could be mapped to `db.name`.
This adds some minimal sanity checks to make sure we don't forget
to add the schema file when we make a release. The checks are tied
to the CHANGELOG.md.
In the future we can do more thorough verifications, e.g. parse the content
of the schema YAML file and ensure it includes the changes that we can
detect by looking at the changes at the semantic convention files.