Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • Sensor readings are captured event/reading objects by device services. The event/reading objects are used throughout EdgeX to transport the sensor data.  An event can have multiple readings associated.  For example, in a single sensing, a thermostat may create an event with two readings: one for temperature and one for humidity.  There are currently no restrictions on the number of readings on an event.  In theory, an event can be packed with so many readings that it creates a object that is MBs in size or even larger.  This can cause the system, particularly core data, start to slow down or even fail.  In a future release, appropriate governors will be put in place to prevent event/reading objects from getting too big.  For now, users are advised to monitor the size of their event/reading objects and break them apart if there are too many or too big of readings associated to an event.  Ref #2527.
  • Removing a scheduler interval by ID when an interval action is still using it crashes the scheduler. Ref #2520. The underlying problem is that the REST call to delete the scheduler interval by ID does not perform a check to ascertain that the interval is currently in use.  As a work around, users are advised to follow the following procedure:
    • At the outset of interacting with the support-scheduler service, first use the REST API to get the entire interval information. For example, let's say that the ID happens to have the value 71e5c882-61b8-4d98-a3b7-2aa68d60c5e6, then issue this cURL command (using the ID value get the full interval information:  curl --location --request GET 'http://localhost:48085/api/v1/interval/71e5c882-61b8-4d98-a3b7-2aa68d60c5e6'
    • From the response received, make a note of the interval's name and use the support-scheduler API to delete the scheduler interval by name (versus ID). If the name of the scheduler interval was midnight, the call would look like the following cURL command:  curl --location --request DELETE 'http://localhost:48085/api/v1/interval/name/midnight
  • The services had a set of configuration (in configuration.toml - see properties below) meant to configure how a service attempted to try to connect to a database upon initial connection failure.  A duration configuration indicated how long to wait before the next retry and interval indicated the number of retries before abandoning the connection setup and exiting the service.  This configuration did not work.  A fix for this has been created for Hanoi (, but these properties will not cause any effect today.  Internal to the services, there was a default retry mechanism in place and that will still take place today in the event that a service cannot initially connect to the database.  As of Geneva, a service will still attempts to connect to the Database approx every second and gives up after approx 30 seconds.
    • [Startup]
      Duration = 10
      Interval = 5

SDKs, Device and Application Services

Please note that device and application services (along with the associated SDKs) can and do release minor versions independently.  These services and SDKs must maintain backward compatibility with EdgeX releases.

Check with the release notes for the SDKs for details on changes and issues addressed in each of the SDK minor releases.

Geneva Release Overview

Release Dates and Timeline