Skip to content

Commit

Permalink
[RND-705] suspension information (#346)
Browse files Browse the repository at this point in the history
  • Loading branch information
bradbanister authored Jan 22, 2024
1 parent b484a21 commit 5295536
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Ed-Fi-Meadowlark

> [!WARNING]
> The Meadowlark project has been suspended. See [SUSPENDED.md](https://github.com/Ed-Fi-Exchange-OSS/Meadowlark/blob/main/SUSPENDED.md)
> for more information.
<img alt="Meadowlark photo (c) Joel Chamberlain"
src="https://raw.githubusercontent.com/Ed-Fi-Exchange-OSS/Meadowlark/main/images/cropped-meadowlark-cc-by-nc-4.0-naturenerd_joel.png"
align="right" width="300">
Expand Down
29 changes: 29 additions & 0 deletions SUSPENDED.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Meadowlark Project Suspended

As of January 2024, Project Meadowlark has been suspended. The following is information on the state of the project.

## Milestone 0.5.0

- Security improvements were implemented based on December 2023 security audit recommendations.
- Meadowlark can now be launched in a Kubernetes pod.
- Additional ODS/API parity improvements were made.

## Missing features/bugs

- A very small number of minor ODS/API parity issues remain. Addressing these has been moved to the MetaEd project.

- Document identity update cascade is not currently implemented. When a document identity is changed on a resource that allows changes, other documents that refer to that document must have their document references changed, both for reference validation but also in the document JSON itself. The design for this is for reference validation consistency to be made immediately but document JSON changes to be made asynchronously.

- Delete of an existing document that the client is not authorized for results in a 403. It should be 404 to hide document existence.

- MongoDB: Under load, when update conflicts result in a timeout the code calls abortTransaction twice when it should only be called once, resulting in an error.

- PostgreSQL: Meadowlark uses NOWAIT to avoid locking, instead reling on retries. Under load, the retries seem to be failing on the aliases table enough such that a 500 error is returned.

## Desirable features

- MongoDB performance needs improvement. Tuning requires the help of more experienced MongoDB users.

- PostgreSQL performance is similar to ODS/API, but improvement may be possible by changing reference validation to use PostgreSQL referential integrity on the references/aliases tables.

- While Meadowlark can use Debezium to stream changes to Kafka, this has not be well tested. Meadowlark also needs to standardize the Kafka message format.

0 comments on commit 5295536

Please sign in to comment.