39 Commits

Author SHA1 Message Date
ViacheslavKlimov
c50d7a3988 EDQS consumer management refactoring 2025-03-25 16:30:21 +02:00
ViacheslavKlimov
a5404c2b45 EDQS: don't use consumer group management for state topics; single consumer group for requests topic; reduce events topic retention to 24 hours 2025-03-24 17:26:01 +02:00
ViacheslavKlimov
0caa6ad86e Refactoring for EDQS 2025-03-21 14:25:54 +02:00
ViacheslavKlimov
b7604a8d0a Fix NONE partitioning strategy 2025-03-20 17:17:08 +02:00
ViacheslavKlimov
9ddd22edcf EDQS: don't use Kafka manual partitions assignment 2025-03-20 16:12:42 +02:00
Viacheslav Klimov
941f19b347
Merge pull request #12975 from dashevchenko/edqsSortFix
Fixed EDQS sorting
2025-03-20 11:58:57 +02:00
dashevchenko
1e0bdc9032 fixed edqs sorting 2025-03-19 15:35:48 +02:00
dashevchenko
6ce095d3d7 fixed edqs sync 2025-03-18 18:15:34 +02:00
ViacheslavKlimov
daeb398d47 Fix invalid queue admin reference 2025-03-18 12:11:29 +02:00
Viacheslav Klimov
408cbe441a
Merge pull request #12921 from thingsboard/fix/calculated-fields
Fixes for calculated fields
2025-03-17 16:34:46 +02:00
ViacheslavKlimov
e97accadab Fixes for CF consumers and repartitioning; refactoring 2025-03-17 16:30:31 +02:00
Igor Kulikov
3b4ee01aac Version set to 4.0.0-RC 2025-03-14 15:08:04 +02:00
dashevchenko
52c04a4e02 refactored getOwnerName 2025-03-12 12:00:19 +02:00
dashevchenko
b4898568d1 removed edqs stats logs, fixed edqs apiUsage name 2025-03-11 15:12:01 +02:00
Viacheslav Klimov
5422a4545f
Merge branch 'edqs' into msa-edqs 2025-03-03 14:52:37 +02:00
ViacheslavKlimov
faff0ea8c2 Refactor TbRocksDb usage 2025-02-28 17:22:53 +02:00
ViacheslavKlimov
506ec363eb EDQS: optimize serialization, fix api usage fields 2025-02-28 12:45:01 +02:00
dashevchenko
f1e42aeeb0 merged with edqs branch 2025-02-25 11:25:10 +02:00
ViacheslavKlimov
e7ed98910a Merge branch 'master' of github.com:thingsboard/thingsboard into edqs 2025-02-25 11:10:31 +02:00
ViacheslavKlimov
a6a6112ecc Cleanup for EDQS 2025-02-24 12:11:05 +02:00
dashevchenko
93e191856f merged with edqs branch 2025-02-24 12:03:49 +02:00
dashevchenko
fb161730fb added msa tests for edqs 2025-02-21 18:38:26 +02:00
ViacheslavKlimov
278ec36f37 Fixes for EDQS 2025-02-21 15:48:33 +02:00
ViacheslavKlimov
965210f17b Multiple improvements for EDQS 2025-02-21 14:39:26 +02:00
ViacheslavKlimov
347cb5bc36 EDQS code cleanup 2025-02-21 11:48:21 +02:00
ViacheslavKlimov
a48144d2bb EDQS code cleanup 2025-02-20 17:34:28 +02:00
ViacheslavKlimov
7519889c1a Refactoring for EDQS repartitioning 2025-02-20 12:25:08 +02:00
ViacheslavKlimov
6bf56c8dc2 EDQS repartitioning improvements 2025-02-19 15:54:18 +02:00
dashevchenko
e1e6f7c98b merged with opensource 2025-02-19 14:59:03 +02:00
dashevchenko
46005a957a fixed test 2025-02-19 14:46:39 +02:00
dashevchenko
2580f4d3e5 fixed buildEntityDataQuery for AlarmDataQuery, key filtering for string null values 2025-02-19 12:05:05 +02:00
ViacheslavKlimov
2a003709e0 Fix tests 2025-02-19 11:21:01 +02:00
ViacheslavKlimov
fc5af45519 EDQS: optimize attributes and latest kv 2025-02-18 17:03:22 +02:00
ViacheslavKlimov
13fbcf4ba0 Fix init for readiness probe controller 2025-02-14 12:31:36 +02:00
ViacheslavKlimov
bb7ea08e59 EDQS: refactoring, OOM handling, healthcheck 2025-02-14 12:08:05 +02:00
dashevchenko
60736e1237 fixed entity removal from CustomerData 2025-02-04 12:23:35 +02:00
dashevchenko
0e9d0b3ba3 fixed EntityServiceTest 2025-02-03 18:27:36 +02:00
ViacheslavKlimov
c8db304ce6 Optimized postgres sync (#3208)
* optimized postgres sync

* Fix consumer stopping when stopWhenRead enabled

* Fix NPE on EDQS repartitioning

* fixed EntityServiceTest

* Fix EDQS yml props

---------

Co-authored-by: ViacheslavKlimov <viacheslavklimov11@gmail.com>
2025-01-30 12:43:14 +02:00
Viacheslav Klimov
86b5378d59 EDQS (#3196)
* Experiments with CSV

* CSV Loader v1

* EDQ tests

* Volatile variables instead of final

* Improvements

* updated loader with new entities

* Fix double memory usage issue

* Basic data structures and load

* Minor improvements

* Snappy + Large String reuse

* added EntityFields classes for each entity

* Basic implementation

* Minor improvements to KeyFilters

* implemented RepositoryUtils.checkKeyFilters

* Generic query implementation

* New structure

* Refactoring and few processors implementation

* extended DeviceData with shared/client attributes and device profile

* Minor refactoring of attribute scopes

* DeviceTypeFilter support

* Strong types of fields for each entity data class

* DeviceType and AssetType filters

* EntityView and Edge queries

* Relations Query

* Relation Query Implementation

* Update EDQS module version

* Sync with EDQS via Kafka

* EDQS: major refactoring

* EDQS API requests via Kafka

* EDQS: full sync with the database

* Refactoring for EDQS sync

* EDQS: major refactoring and new features

* EDQS refactoring, count query support, fix tests

* EDQS: refactoring for query processors

* Fix EDQS pom version

* Cleanup edqs.yml

* EDQS: tenant partitioning strategy; refactoring

* EDQS: latest events queue

* EDQS: support for monolith setup; RocksDB; other improvements

* EDQS: merge sync and events topics, introduce state topic

* EDQS: dynamic repartitioning

* implemented entity data query filters for edqs

* EdqsEntityQueryControllerTest - use in-memory queue

* edqs-filter fixes, added test

* EDQS: blob entity support

* EdqsEntityQueryControllerTest - use in-memory queue

* Use DummyEdqsService when disabled

* Fixes for EDQS

* Refactoring for EDQS tests

* Fix edqs requests partitioning

* EDQS: Fix for attributes handling

* Fix attributes saving in EntityServiceTest

* EDQS: refactoring, fixes

* Minor refactoring for query processor

* added ownerName/ownerType support

* fixed relation query processor

* fixed EntityServiceTest

* refactoring

* added support for parentId for relation query result

* Get rid of EntityNameFetcher

* Add fixme for relation query processor

* db restore with select all edqs fields

* fixed entity deletion

* fixed FieldUtils with new EntityFields

* dao method renamed

* EDQS: instance groups with same partitions; automatic sync; multiple fixes

* Refactoring for EDQS sync

* EDQS: refactoring

* Fix startup with Kafka

* fixed EntityQueryControllerTest

* fixed EdqsEntityServiceTest

* Separate queue admin for EDQS request template

* Implement new EDQS partitioning strategy

* EDQS: multiple fixes and refactoring

* Add mock EdqsRocksDb beans to tests

* added edqs stats for inmemory/grafana

* fixed filter tests

* Update todos

* Refactoring for QueueConfig

* Improvements and refactoring for EDQS consumers

* implemented TODOs

* test fixes

* Consume state topic up to end offsets

* edqs stats refactoring

* EDQS: cleanup on partitions removal; refactoring

* EDQS: minor refactoring

* EDQS: remove CSV loader

---------

Co-authored-by: Andrii Shvaika <ashvayka@thingsboard.io>
Co-authored-by: dashevchenko <dshevchenko@thingsboard.io>
2025-01-27 17:41:12 +02:00