* 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>
Local Subscription Service refactoring
Refactoring of the proto structures
Bug fixing after refactoring
Minor improvements and bug fixes
Improvements to avoid additional DB calls
Bug fixes after refactoring
Cluster mode improvements
* Improve edge notification for entities' CRUD operations. Use service layer to notify instead of TbService
* Improve queue service, delete unused class for edge event updates
* Improve alarm delete and add handle fox delete dao event notification
* Refactoring: provide notification for relations and alarms. Improve logic and bad edge event type using
* Add entity type to SaveEvent to process correct message type to edge
* Improve relation service publish event
* Introduce EdgeEventSourcing service instead of saving edge events on controller/service layers. Part #2
* Improved stability of device edge test
* Push credential updated event only in case update
* Add tenantId to saveUser signature to send correct notification for listener
* Fix tests to send correct notification msg to edge
* Fix tests with correct action type
* Add delete msg to edge for customer
* Refactor ActionEntityEvent to use lombok builder
* Remove unnecessary comments
* Added edgeSynchronizationManager into BaseAlarmProcessor and BaseRelationProcessor
* Fixed license header
* Remove notification to edge from Version Control Service
* Fixed alarm del processing - find related edges inside edge processor
* Fix controller test for publish event to listener if entity was deleted
* Added check for edge imitator messages during login as tenant admin
* Refactoring: Added filtering of relation on EdgeEventSourcingListener
* Refactored to be in sync with PE
* Refactored edge test to be in sync with PE edge test changes
* EdgeControllerTest - moved await block into separate method to reuse it
* Fixed EdgeControllerTest
* Fixed testAssignEdgeToCustomerFromDifferentTenant test
* testSyncEdge - make stable
* Refacroting - update utils method name to pop* in EdgeControllerTest
* testSyncEdge - fixed order and nubmer of edge events
* testGetEdgeEvents - check by pop items, and not by index to improve stability on slow machines
* testGetEdgeEvents - added check that list is empty
* Removed test debug output
* EntityServiceTest - Fixed compilation error after merge
* Improve service layer event publisher to process each notification and validate in listener
* Improve BaseAlarmService to send notification to listener
* Fix asset-device notification action to send delete to all edges
* Delete unnecessary usage of sendMsgToEdge
* Improve processEntityNotification to be in sync with changed needed for PE
* Pull request review - minor refactoring
* Fix tests after review-refactoring
* Refactor tests to be in sync with PE
* Fixed repeated update - added check for old_edge_event table existance before migration
* DeviceEdgeProcessor - do edgeSynchronizationManager as soon as possible to avoid unnecessary downlinks
* BaseEdgeProcessor - refactoring and remove duplicate methods. Introduce EdgeEventType.isAllEdgesRelated
* Organize imports
* Improve Edge test: add sync completed message to await
* Minor refactoring for EdgeProcessor notification: asset and device
* EdgeEventSourcingListener - updated logging to avoid null pointer exception
* BaseAlarmService - added check for alarm to avoid NPE. EdgeEventSourcingListener - added try/catch blocks
* EdgeEventSourcingListener - fixed error message log level
---------
Co-authored-by: Volodymyr Babak <volodymyr.babak@gmail.com>