We need to apply tenantId at the Data level for better Hawkular integration. At the moment we require dataIds to be unique cross-tenant, but this goes against the general idea of tenants where ids need to be unique only within a tenant.
Consider the HK-Metrics integration scenario. HK-metrics stores datapoints for tenantid+metricname. A metricname is guaranteed unique only within a tenant. When sending data to alerts (via the bus in this example) we get a list of data points that are tenantid+metricname+timestamp+value. But when we forward to the engine we drop the tenantid. So, despite triggers and conditions having tenants, they could generate ConditionEvals for data supplied for a different tenant.