Upgrade to The Things Network v3.16.0 (completed)

Completed: Upgrade to The Things Network v3.16.0

This is a cross-post of an incident on our status page. It will be updated automatically.

Impact: Maintenance

Scheduled: Mon, 15 Nov 2021 09:30:00 +0100 until 11:30:00 +0100

Resolved: Mon, 15 Nov 2021 11:30:29 +0100

Affected Components

  • Europe 1 (eu1.cloud.thethings.network): Operational
  • North America 1 (nam1.cloud.thethings.network): Operational
  • Australia 1 (au1.cloud.thethings.network): Operational

Scheduled

Posted: Fri, 12 Nov 2021 16:07:45 +0100

During this maintenance window we will upgrade The Things Network v3.16.0

We do not expect noticeable downtime during this deployment.

Here is the changelog since the current version 3.15.2:

Added

  • ttn_lw_as_subscription_sets_publish_success_total and ttn_lw_as_subscription_sets_publish_failed_total metrics to track the number of subscription set publish attempts.
  • Application Server advanced distribution settings:
    • as.distribution.global.individual.subscription-blocks controls if the Application Server should block while publishing traffic to individual global subscribers (such as MQTT clients).
    • as.distribution.global.individual.subscription-queue-size controls how many uplinks the Application Server should buffer for an individual global subscriber. Note that when the buffer is full, the Application Server will drop the uplinks if --as.distribution.global.individual.subscription-blocks is not enabled. Use a negative value in order to disable the queue.
    • as.distribution.local.broadcast.subscription-blocks controls if the Application Server should block while publishing traffic to broadcast local subscribers (such as webhooks and application packages matching).
    • as.distribution.local.broadcast.subscription-queue-size controls how many uplinks the Application Server should buffer for an broadcast local subscriber. Has the same semantics as --as.distribution.global.individual.subscription-queue-size.
    • as.distribution.local.individual.subscription-blocks controls if the Application Server should block while publishing traffic to individual local subscribers (such as PubSub integrations).
    • as.distribution.local.individual.subscription-queue-size controls how many uplinks the Application Server should buffer for an individual local subscriber. Has the same semantics as --as.distribution.global.individual.subscription-queue-size.
  • ttn_lw_gs_txack_received_total, ttn_lw_gs_txack_forwarded_total and ttn_lw_gs_txack_dropped_total metrics, which track the transmission acknowledgements from gateways.
  • gs.txack.receive, gs.txack.drop and gs.txack.forward events, which track the transmission acknowledgements from gateways.
  • Remote federated authentication providers and external user management.
    • Authentication providers can be managed via the AuthenticationProviderRegistry service. See the tti-lw-cli authentication-providers commands for CLI support.
    • External users can be managed via the ExternalUserRegistry service. See the tti-lw-cli external-users commands for CLI support.
  • External users (users associated with a federated authentication provider) may no longer update their passwords, or request temporary passwords.
  • External users will have their information (name and email) updated on login, based on the data provided by the authentication provider.
  • Users may be associated to multiple authentication providers at the same time.
    • This requires a database schema migration (ttn-lw-stack is-db migrate) due to the relaxed unique constraint.
  • ttn-lw-stack as-db migrate command to migrate the Application Server database. This command records the schema version and only performs migrations if on a newer version.
    • Use the --force flag to force perform migrations.
  • Server-side event filtering with the names field.

Changed

  • Gateway Server default UDP worker count has been increased to 1024, from 16.
  • Application Server webhooks and application packages default worker count has been increased to 1024, from 16.
  • Application Server no longer sets the end device's session.started_at and pending_session.started_at. The session start time should be retrieved from the Network Server, per API specification.
    • This requires an Application Server database migration (ttn-lw-stack as-db migrate) to clear the started_at field in existing (pending) sessions.
  • Console changing to server-side event filtering (used to be client-side).

Removed

  • The ttn_lw_gs_status_failed_total, ttn_lw_gs_uplink_failed_total metrics. ttn_lw_gs_status_dropped_total and ttn_lw_gs_uplink_dropped_total should be used instead, as they contain the failure cause.
  • The gs.status.fail and gs.up.fail events. gs.status.drop and gs.up.drop should be used instead, as they contain the failure cause.
  • The data_rate_index field in uplink message metadata. Observe the fully described data rate in the data_rate field instead.
  • LoRaWAN data rate index reported to LoRa Cloud DMS.
  • Dockerfile doesn't define environmental variables TTN_LW_BLOB_LOCAL_DIRECTORY, TTN_LW_IS_DATABASE_URI and TTN_LW_REDIS_ADDRESS anymore. They need to be set when running the container: please refer to docker-compose.yml for example values.
  • CockroachDB from development tooling as well as config option within docker-compose.yml.
    • This also changes the default value of the --is.database-uri option, so it can connect to the development Postgres database by default.

Fixed

  • LoRaWAN Backend Interfaces AppSKeyReq and HomeNSReq interop calls in multi-tenant deployments.
  • Handling of NaN values in our JSON API.
  • Receiver metadata from more than one antenna is now available in messages received from Packet Broker.
  • Unhelpful error message when aborting the OIDC Login in the Console.
  • Parsing of multi-word description search queries.

Scheduled

Posted: Fri, 12 Nov 2021 16:15:27 +0100

We will be undergoing scheduled maintenance during this time.

In Progress

Posted: Mon, 15 Nov 2021 09:30:32 +0100

Scheduled maintenance is currently in progress. We will provide updates as necessary.

Completed

Posted: Mon, 15 Nov 2021 11:30:29 +0100

The scheduled maintenance has been completed.

1 Like

The incident on our status page was just updated with new information. The first post in this topic has been updated accordingly.

The incident on our status page was just updated with new information. The first post in this topic has been updated accordingly.