Duplicated Fitbit data on output storage for certain topics
@mpgxvii ya está trabajando en esto.
Desde el 15/1/2025.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Problem
For certain Fitbit topics on a client deployment, selected topics started showing duplicated data rows in output storage analogous to:
| key.subject | key.source | key.project | value.time | value.timeRecieved | value.value |
|---|---|---|---|---|---|
| my-subject-id | my-source-id | my-project-id | 000000001 | 000000005 | 20 |
| my-subject-id | my-source-id | my-project-id | 000000001 | 0000000010 | 20 |
Note that Fitbit data recorded at the same time appears as a separate line; the only difference is the value.timeReceived.
This was observed for the following Fitbit topics:
connect_fitbit_breathing_rate
connect_fitbit_intraday_heart_rate_variability
connect_fitbit_sleep_stages
connect_fitbit_activity_log
connect_fitbit_skin_temperature
connect_fitbit_sleep_classic
it was noted to NOT occur for the following Fitbit topics:
connect_fitbit_intraday_calories
connect_fitbit_intraday_steps
connect_fitbit_intraday_heart_rate
Some observations
- Data deduplication by output-restructure normally takes all columns into account. For this reason the
value.timeReceivedis causing the same piece of data to be added as a separate line. - I suspect that previous from older versions of Fitbit connector, the current connector repeatedly downloads the same date range for the problematic topics. The inclusion of the
value.timeReceivedcolumn during de-deduplication causes the data to appear multiple times in the output files. - Many of the problematic topics were updated in PR #118
- The topics that work well all have a
1dtime period hard-coded in the request URL whereas others do not:
FitbitIntradayCaloriesRoute.java: return baseUrl + "/1/user/%s/activities/calories/date/%s/1d/1min/time/%s/%s.json?timezone=UTC";
FitbitRestingHeartRateRoute.java: return baseUrl + "/1/user/%s/activities/heart/date/%s/1d.json?timezone=UTC";
FitbitIntradayStepsRoute.java: return baseUrl + "/1/user/%s/activities/steps/date/%s/1d/1min/time/%s/%s.json?timezone=UTC";
FitbitIntradayHeartRateRoute.java: return baseUrl + "/1/user/%s/activities/heart/date/%s/1d/1sec/time/%s/%s.json?timezone=UTC";
FitbitSkinTemperatureRoute.java: return baseUrl + "/1/user/%s/temp/skin/date/%s/%s.json";
FitbitBreathingRateRoute.java: return baseUrl + "/1/user/%s/br/date/%s/%s/all.json";
FitbitIntradayHeartRateVariabilityRoute.java: return baseUrl + "/1/user/%s/hrv/date/%s/%s/all.json";
FitbitIntradaySpo2Route.java: return baseUrl + "/1/user/%s/spo2/date/%s/%s/all.json";
FitbitTimeZoneRoute.java: return baseUrl + "/1/user/%s/profile.json";
FitbitSleepRoute.java: return baseUrl + "/1.2/user/%s/sleep/list.json?sort=asc&afterDate=%s&limit=100&offset=0";
FitbitActivityLogRoute.java: return baseUrl + "/1/user/%s/activities/list.json?sort=asc&afterDate=%s&limit=20&offset=0";
- Lenguaje dominante
- Java
- Estrellas
- 5
- Forks
- 6
- Merge medio
- 6 d 1 h
- PR fusionados (30 d)
- 4
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de RADAR-base/RADAR-REST-Connector
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
-
Write one summary record per Google Health ECG readingPosiblemente ocupada @this-Aditya la tomó hace 2 días. Abiertoenhancement
RADAR-base/RADAR-REST-Connector#221 · 1 asignado ·
-
Don't install kafka-connect-rest-source as a separate Connect pluginQuizá libre de nuevo @this-Aditya la tomó hace 55 días y no hay ningún pull request abierto. Abiertobug
RADAR-base/RADAR-REST-Connector#212 · 1 asignado ·
-
Integrate Huawei Cloud REST APIAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
-
Incorrect reponse of Fitfit Intraday Heart Rate API endpointQuizá libre de nuevo @pvannierop la tomó hace 222 días y no hay ningún pull request abierto. Abierto
RADAR-base/RADAR-REST-Connector#193 · 1 reacción · 1 asignado ·
Todos los issues de RADAR-base/RADAR-REST-Connector
Issues similares
-
BindingServiceProperties.bindings regressed to a non-thread-safe TreeMap in GH-3158: concurrent first use of binding names corrupts itPosiblemente ocupada @AkashB23 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
spring-cloud/spring-cloud-stream#3321 ·
Los mantenedores suelen responder en 1 día
-
[Bug] 资源包列表 与 模组/数据包/世界 列表排列顺序不一致Posiblemente ocupada @fishdry1000 la tomó hace 4 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
ai-driven-fuzzing bug claude Minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
linagora/twake-calendar-side-service#1333 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
AtlasOfLivingAustralia/species-lists#882 ·
Los mantenedores suelen responder en 1 día
-
Type/Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
ballerina-platform/ballerina-library#9458 ·
Los mantenedores suelen responder en 1 día