Since the last milestone of Eclipse Ditto 0.8.0-M2, the following changes, new features and bugfixes were added.
Changes
Speed up Search
With more and more Things, the search service was slowing down massively.
Two Pull Requests (#275, #278) addressed this issue with the following changes:
- add an index on
_policyId
and__policyRev
for thethingEntities
collection. - add the field
_thingId
to new documents inpoliciesBasedSearchIndex
. - add an index on
_thingId
for thepoliciesBasedSearchIndex
collection. - rewrite queries on
policiesBasedSearchIndex
to always look for the indexed_thingId
first.
Data in policiesBasedSearchIndex
needs to be migrated (we strongly recommend to do that in “offline mode”
with the Ditto cluster stopped) using the
MongoDB migration script from 0.8.0-M2 to 0.8.0-M3
.
Netty 3 was removed from dependencies
Due to licensing issues with Netty 3, it was removed in this release and replaced with Akka’s Artery remoting which uses by default a plain TCP socket for communication.
That means that a rolling update from a prior version of Ditto will fail - you’ll have to completely restart your cluster with all services running the new version.
New features
Apply enforcement for incoming messages in connectivity service
When adding a connection, an optional enforcement (e.g. for AMQP 1.0) may be configured in order to only accept messages having, for example, a defined header value.
This is also very useful to be used for connecting to Eclipse Hono which sends a header
device_id
in every message which Ditto can check against the ID of the addressed twin.
Allow to create a new thing that uses a copied policy
When creating a new Thing it is now possible to copy the Policy already used in another Thing.
An example of this new feature can be found here.
Bugfixes
This milestone contains several bugfixes related to memory leaks, recovery of connections and cluster consistency.
Various smaller bugfixes
This is a complete list of the merged pull requests.