v2.1.x Release Notes

Platform Changes

Peek Worker

We’ve experienced issues with the Celery library that Peek uses for distributed processing. The issue observed is Redis closing client connections due to a Pub/Sub buffer overflow. This is believed to be due to Celery not unsubscribing from events properly, however investigations showed that the result keys are being cleaned up in Redis. We’re not sure what the fix is, Hence the passive language of this paragraph.

What we have done is improved the txCelery-Py located at

https://github.com/Synerty/txcelery-py3/commits/master :

  • Task create and result capture are performed in the same thread.

  • Tasks are automatically retried if they fail with a redis connection error.

  • Performance has been greatly reduced by staying in the thread and adding a timeout

    in the thread. There was a significant overhead in Twisted from entering and exiting threads.

These changes actually all applied to the Peek Server, but they were for distributed tasks.

Plugin Changes

Nil

Deployment Changes

Linux Deployment

Nil

macOS Deployment

Nil

iOS Deployment

Note

Peek v2.0.x does not have support for iOS, this will be updated in a future release. We’re going to Ionics Capacitor framework to create a full hybrid app.

Windows Deployment

Nil.

Note

The windows deployment will change to use Windows Subsystem for Linux in a future release.

Migration Steps

Follow the following migration steps to rebuild the data that has changed in this update.

Stop Peek

Start the migration tasks with Peek stopped.

On Linux this can be done with

# Stop Peek
sudo true
sudo systemctl stop peek_agent_service
sudo systemctl stop peek_office_service
sudo systemctl stop peek_worker_service
sudo systemctl stop peek_logic_service

Clear Redis and RabbitMQ Queues

Run the following commands to clear any queues

# Purge any outstanding results from the redis task result store
sudo redis-cli flushall

# Purge the RabbitMQ Task Queue
sudo rabbitmqctl purge_queue celery

Restart Peek

Restart all Peek services

sudo true
sudo systemctl start peek_logic_service
sudo systemctl start peek_worker_service
sudo systemctl start peek_agent_service
sudo systemctl start peek_office_service

v2.1.7 Issues Log

This release was used to test Synertys new CI-CD builds.

v2.1.6 Issues Log

This release was used to test Synertys new CI-CD builds.

v2.1.5 Issues Log

Bug

  • [PEEK-514] - Peek runs out of memory and celery connections die

  • [PEEK-525] - Peek Worker chews all ram and crashes

  • [PEEK-528] - Running the Peek Agent causing netservd errors on the connected PowerOn Server:

  • [PEEK-531] - Add settings for max XXX per child settings

Improvement

  • [PEEK-532] - Update deploy_platform_xxxx.sh/ps1 to deploy_release_xxxx.sh/ps and include installing the plugins

v2.1.4 Issues Log

This release was used to test Synertys new CI-CD builds.

v2.1.3 Issues Log

This release was used to test Synertys new CI-CD builds.

v2.1.2 Issues Log

Bug

  • [PEEK-494] - PowerOn Diagram Loader - RpcForAgentDispImport.storeStateInfoTuple

    unique constraint violation

  • [PEEK-499] - Field crews using Peek have null token issues on iOS Safari

  • [PEEK-500] - TupleStorageIndexedDbService saveTuplesEncoded never resolves promise

  • [PEEK-503] - Allow auto enroll - remove device register

  • [PEEK-506] - Alphabetically order Symbol Selection

  • [PEEK-512] - txcelery local variable ‘async_result’ referenced before assignment

  • [PEEK-513] - VortexJS - IndexedDB OfflineTupleActonService

    throws an error every check

  • [PEEK-514] - Peek runs out of memory and celery connections die.

  • [PEEK-516] - NAR ID including user and date incorrect in E-mail.

Improvement

  • [PEEK-493] - Peek Platform - Add stop_peek.sh script

  • [PEEK-508] - Remove default text from placed symbols.

v2.1.1 Issues Log

Bug

  • [PEEK-456] - Core User - Fix user title constraint for users logging in from two ADs

    with different username

  • [PEEK-482] - Diagram Edit - Order the edit branches list in descending order.

  • [PEEK-483] - Diagram Edit - Set a minimum width for the Ant.Design dropdowns

    in the shape properties.

  • [PEEK-488] - Queue Compilers - Fail to retry failing task, they wait indefinitely

  • [PEEK-489] - Peek Platform - Twisted thread count is far too small.

  • [PEEK-490] - Queue Compilers - Use too much CPU when not doing anything but waiting

  • [PEEK-491] - Peek server keeps crashing with redis pub/sub buffer overflows.

  • [PEEK-492] - PoN Diagram Loader - Too many concurrent SSH connections during load

    causes SSH rate limiting

v2.1.0 Issues Log

New Feature

  • [PEEK-467] - Diagram Edit - Insert Edge components/templates/symbols

Improvement

  • [PEEK-466] - Diagram Edit - Edit placed component text

Bug

  • [PEEK-320] - ENMAC Graph DB Loader - Loader continually reimports trace configs

  • [PEEK-457] - Core User / Device - User login sticks on login screen

  • [PEEK-462] - Core Login - login screen hangs after selecting the login button

  • [PEEK-463] - ENMAC Switching - program details not shown sequentially

  • [PEEK-464] - Diagram Edit - Deleting existing display items doesn’t work

  • [PEEK-465] - Diagram Edit - Creating text doesn’t popup shape properties

  • [PEEK-468] - ENMAC SOAP - SOAP isn’t compatible with PowerOn Advantage

  • [PEEK-469] - Field Switching - Field confirm for WEB doesn’t work
    • Time date is out of range

  • [PEEK-470] - ENMAC SOAP - Datetimes now seem to be double localised

  • [PEEK-473] - All Loaders - Workers failing all their retries can

    end up with queue items in limbo

  • [PEEK-474] - Diagram - Locating on key only (no coord set), will fail

  • [PEEK-475] - ENMAC Equipment Loader - Loader no longer loads conductors

  • [PEEK-476] - Worker - Fix retry issues with redis connections

  • [PEEK-477] - Queue Compilers - Ensure a chunk isn’t compiled twice in paralleled

  • [PEEK-478] - Loader Plugins - Fix worker retry/complete logging messages

  • [PEEK-479] - Diagram - Improve LiveDB item create / poll sequence

  • [PEEK-480] - Diagram - Force Lookup imports to be run sequentially

  • [PEEK-481] - VortexPY - Fix reporting of blocking endpoints