Skip to content
This repository has been archived by the owner on Aug 2, 2023. It is now read-only.

Commit

Permalink
release: 21.03.4
Browse files Browse the repository at this point in the history
  • Loading branch information
achimnol committed May 13, 2021
1 parent a3042c8 commit 73d5691
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 22 deletions.
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,37 @@ Changes

.. towncrier release notes start

21.03.4 (2021-05-14)
--------------------

### Features
* Add an API endpoint to share/unshare a group virtual folder directly to specific users. This is to allow specified users (usually teachers with user account) can upload data/materials to a virtual folder while it is shared as read-only for other group users. ([#419](https://github.com/lablup/backend.ai-manager/issues/419))

### Fixes
* Change the `KeyPair.num_queries` GQL field to use Redis instead of the `keypairs.num_queries` DB column to avoid excessive DB writes ([#421](https://github.com/lablup/backend.ai-manager/issues/421)) ([#425](https://github.com/lablup/backend.ai-manager/issues/425))
* Improve stability and synchronization of container-databse states
- Now all DB transactions use the "SERIALIZABLE" isolation level with explicit retries.
- Now DB transactions that includes only SELECT queries are marked as "read-only" so that
the PostgreSQL engine could optimize concurrent access with the new isolation level.
All future codes should use `beegin_readonly()` method from our own subclassed SQLAlchemy
engine instance replacing all existing `db` context variables.
- Remove excessive database updates due to keypair API query counts and kernel API query counts.
The keypair API query count is re-written to use Redis with one month retention. (#421)
Now just calling an API does not trigger updates in the PostgreSQL database.
- Fix unnecessary database updates for agent heartbeats.
- Split many update-only DB transactions into smaller units, such as resource recalculation.
- Use PostgreSQL advisory locks to make the scheduling decision process as a critical section.
- Fix some of variable binding issues with nested functions inside loops.
- Apply event message coalescing to prevent event bursts (e.g., `DoScheduleEvent` fired after
enqueueing new session requests) which hurts the database performance and potentially
break the transaction isolation guarantees.
* Further refine the stability update with improved database transaction retries and the latest SQLAlchemy 1.4.x updates within the last month ([#429](https://github.com/lablup/backend.ai-manager/issues/429))
* Fix a regression that destroying a cluster session generates duplicate session termination events ([#430](https://github.com/lablup/backend.ai-manager/issues/430))

### Miscellaneous
* Temporarily pin `pytest-asyncio` to 0.14.0 due to regression of handling event loops for fixtures ([#423](https://github.com/lablup/backend.ai-manager/issues/423))


21.03.3 (2021-04-13)
--------------------

Expand Down
1 change: 0 additions & 1 deletion changes/419.feature

This file was deleted.

1 change: 0 additions & 1 deletion changes/421.fix

This file was deleted.

1 change: 0 additions & 1 deletion changes/423.misc

This file was deleted.

16 changes: 0 additions & 16 deletions changes/425.fix

This file was deleted.

1 change: 0 additions & 1 deletion changes/429.fix

This file was deleted.

1 change: 0 additions & 1 deletion changes/430.fix

This file was deleted.

2 changes: 1 addition & 1 deletion src/ai/backend/manager/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '21.03.3'
__version__ = '21.03.4'

0 comments on commit 73d5691

Please sign in to comment.