From ac0c74671710bf5e24e3dc326295836b0876442a Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Fri, 26 Jul 2019 18:01:55 +0100 Subject: [PATCH 01/13] add AUDR analysis updates RFC --- ...alysis-process-only-file-relationships.png | Bin 0 -> 22103 bytes rfcs/images/0000-new-analysis.png | Bin 0 -> 30551 bytes rfcs/images/0000-new-bundle-relationships.png | Bin 0 -> 12459 bytes rfcs/images/0000-no-update.png | Bin 0 -> 33668 bytes rfcs/images/0000-update-analysis.png | Bin 0 -> 32620 bytes .../0000-update-bundle-relationships.png | Bin 0 -> 11156 bytes .../images/0000-update-file-relationships.png | Bin 0 -> 32671 bytes rfcs/text/0000-audr-analysis-updates.md | 118 ++++++++++++++++++ 8 files changed, 118 insertions(+) create mode 100644 rfcs/images/0000-analysis-process-only-file-relationships.png create mode 100644 rfcs/images/0000-new-analysis.png create mode 100644 rfcs/images/0000-new-bundle-relationships.png create mode 100644 rfcs/images/0000-no-update.png create mode 100644 rfcs/images/0000-update-analysis.png create mode 100644 rfcs/images/0000-update-bundle-relationships.png create mode 100644 rfcs/images/0000-update-file-relationships.png create mode 100644 rfcs/text/0000-audr-analysis-updates.md diff --git a/rfcs/images/0000-analysis-process-only-file-relationships.png b/rfcs/images/0000-analysis-process-only-file-relationships.png new file mode 100644 index 0000000000000000000000000000000000000000..1f47326bbbb4558d18ae81a07a9e6e7f5985fd41 GIT binary patch literal 22103 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

Z)vf14N&y+b@#ch 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 literal 0 HcmV?d00001 diff --git a/rfcs/images/0000-new-analysis.png b/rfcs/images/0000-new-analysis.png new file mode 100644 index 0000000000000000000000000000000000000000..6c84757f7a770519a71e10beddb34eb8282c58bf GIT binary patch literal 30551 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≈CGO!qf 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 literal 0 HcmV?d00001 diff --git a/rfcs/images/0000-new-bundle-relationships.png b/rfcs/images/0000-new-bundle-relationships.png new file mode 100644 index 0000000000000000000000000000000000000000..9af521ed7babf2040d6ea4e200957643773e1674 GIT binary patch literal 12459 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 Mp86~I@WosI3tlalu>b%7 literal 0 HcmV?d00001 diff --git a/rfcs/images/0000-update-analysis.png b/rfcs/images/0000-update-analysis.png new file mode 100644 index 0000000000000000000000000000000000000000..4a83b9b0c555f3e63b24f7ce5acff83165f714a6 GIT binary patch literal 32620 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 nOOM*Dj)}_uA+FnnNZM}ELK&$-r<7fX1Fs5qX literal 0 HcmV?d00001 diff --git a/rfcs/images/0000-update-file-relationships.png b/rfcs/images/0000-update-file-relationships.png new file mode 100644 index 0000000000000000000000000000000000000000..626b55a10ab0a2d0cbbc4c843f63c0c841d2c582 GIT binary patch literal 32671 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 literal 0 HcmV?d00001 diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md new file mode 100644 index 00000000..c045aee7 --- /dev/null +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -0,0 +1,118 @@ +### DCP PR: + +***Leave this blank until the RFC is approved** then the **Author(s)** must create a link between the assigned RFC +number and this pull request in the format:* +`[dcp-community/rfc#](https://github.com/HumanCellAtlas/dcp-community/pull/)` + +# RFC Name +AUDR Analysis Updates + +## Summary +Enable analysis to update previous analyses and add new analyses alongside existing analyses. + +## Author(s) +[Justin Clark-Casey](mailto:justincc@ebi.ac.uk) + +## Shepherd +[Parth Shah](mailto:pshah@chanzuckerberg.com) + +## Motivation +This covers [use cases](https://docs.google.com/document/d/1rI8PCASomdAHznyWQceRJGv4-wtg-P5Rm-rI_uJLjtE/edit#): + +* **Fix an incorrect metadata field (e.g. cell count)** where the change can trigger re-analysis. +* **Fix an incorrect ontology term** where the change can trigger re-analysis. +* Fix incorrect analysis using a corrected pipeline. +* **Add better analysis using an improved pipeline.** + +Wranglers consider the **bolded** use cases in red to be critical for general availability. + +## Detailed Design +A primary metadata update triggers a datastore notification. Per pipeline, Analysis performs: + +* **Update analysis.** The [meta]data change is in a file or parameter that updates an existing analysis (a “consequential” change). +* **New analysis.** The [meta]data change creates a new analysis. For example, the species changes from mouse to human and there is a pipeline for human on this data but not one for mouse. It may be that an analysis from a different pipeline already exists and this should not be superseded by the new analysis. +* **No update.** There is an existing analysis for this pipeline but the [meta]data change does not alter the analysis (an “inconsequential” change). For example, a change in the project description. + +The **update analysis** and **new analysis** scenarios can occur without a primary update. For example, a pipeline bug may be fixed which requires updates of the analyses it performed. Or a new pipeline may be created that can be run on existing data, where the existing analyses from other pipelines are still valid and so should not be superseded. + +### Update analysis + +![](../images/0000-update-analysis.png) + +A bundle for an updated analysis will have the same UUID as the existing analysis. This will tell consuming components that the bundle with the later timestamp in its version supersedes those with earlier timestamps. The bundle relationship looks like this: + +![](../images/0000-update-bundle-relationships.png) + +To submit an updated analysis, Analysis will: + +1. Create a submission envelope with the parameter isUpdate = true. +2. Add `analysis_process_0.json` with provenance.document_id set to the same UUID as the existing `analysis_process_0.json` +3. For other files that need updating, also add them to the envelope with the same provenance.document_id as their previous versions`.` +4. For files that only exist in the new analysis, add them to the envelope with any provenance.document_id. +5. For files that exist only in the older analysis, post an HTTP DELETE to their endpoint. +6. For files that are in both envelopes but don’t need updating, do nothing. + +![](../images/0000-update-file-relationships.png) + +To make it easier for analysis to supply the existing UUIDs, they will also be able to set the provenance.document_id when the file is first created. + +### New analysis +![](../images/0000-new-analysis.png) + +This is the same as the new analysis implementation today which is triggered by a new primary data bundle rather than an update. If the new analysis should not supersede an existing analysis, for example if that existing analysis comes from a different still valid pipeline, then the relationship between such bundles will look like this: + +![](../images/0000-new-bundle-relationships.png) + +### No update +![](../images/0000-no-update.png) + +To perform copy-forward, Analysis tells Ingest that the input primary bundle for analyses is updated. + +The update mechanism will be the same as for actually updating the analysis, except that they will change only the input_bundles parameter when posting the `analysis_process_0.json.` + +## Acceptance criteria +* Analysis can update existing analyses. +* Analysis can submit new analyses which do not supersede existing analyses. +* All primary data and metadata in analysis bundles is updated in response to a primary data or metadata change. + +## Alternatives + +### Only analysis_process_0.json requires same UUID on updates +Instead of requiring all file actions to be specified when submitting an analysis update (update, delete or create), Analysis would only need to specify the same UUID for `analysis_process_0.json`. All other files could be specified with new UUIDs. At the bundle level, all the original files bar `analysis_process_0.json` would be deleted and new files and references to files created. + +![](../images/0000-analysis-process-only-file-relationships.png) + +The advantage here for analysis is that only one relationship needs to be specified. If the UUID could be generated from other parameters, it may mean Analysis doesn’t need to store UUIDs or any other information about files generated by a previous analysis. + +The problem here is that actions are still required to delete all those old files before creating them anew. If Analysis does this, then it needs to know the file UUIDs anyway. If Ingest provides a convenience method, such as delete all the files **except** for `analysis_process_0.json`, these opens the way for bugs and arguably starts to put some intelligence about bundle changes into Ingest. + +There seems to be a better separation of responsibility if Analysis is solely in charge of maintaining file relationships between bundles. This also means that this information will be present from the outset - it’s possible that file relationship information is valuable to preserve. + +### Ingest copy-forwards immediately +Instead of Analysis telling Ingest to perform a copy-forward on no analysis, Ingest performs copy-forward automatically on all bundles as soon as it receives a primary update. If an analysis is updated then Ingest needs to manage this so that it a) doesn’t clash with any analysis bundles already going on from the initial primary update and b) both the analysis update and the copy-forward are correctly performed on the updated analysis bundle. + +**PROS** +1. It’s less work for all non-primary submitters. They don’t need memory and mechanisms to signal the no analysis case. + +**CONS** +1. Ensuring serialization of bundle updates becomes critical. We do not want to risk interleaving a copy-forward with a possible analysis. +2. Ingest will need to do much more work, meaning greater resource consumption (or crowding out) and higher fragility. Any primary data update will start bundle updates that need to be repeated if an analysis comes in. + +### Analysis declares fields of interest + +Analysis pre-declares to Ingest the metadata fields on which it will update analyses. If a primary update comes in that changes none of those fields, Ingest goes ahead with copy-forward on the analysis bundles automatically. + +**PROS** +1. Less work for non-primary submitters. They don’t need mechanisms to hold and convey no updated analysis information. + +**CONS** +1. Ingest needs to hold and preserve this information. It needs to provide an authenticated CRUD API for declarations. +2. Analysis needs to declare fields of no interest to ingest. This is a fragile because Analysis may accidentally not declare some fields or over-declare and never trigger copy-forward. + +# References +* [Add new data and metadata to existing projects (AUDR) #414](https://app.zenhub.com/workspaces/dcp-5ac7bcf9465cb172b77760d9/issues/humancellatlas/dcp/414) +* [Results from “The AUDacity of Hackathons” (June 2019 HCA DCP F2F session)](https://docs.google.com/document/d/1ifzy4lQtdIm0NvDpEuuQ2tD8ku9IPvn7sPjOg9BhliA) +* [Data model pre-RFC](https://docs.google.com/document/d/1CdIJ_pBdiiQUFh8kYARRhMXvhKXGERG3bdv763tpAKI/) +* [Tech Arch: Handle notifications for insignificant bundle updates](https://docs.google.com/presentation/d/1_snBHeCVPjLmgZPKH2SbHk_I3-s6jLlEkPtz0eUY_Xc/edit?ts=5cfa7ddc) +* [AUDR usecases](https://docs.google.com/document/d/1rI8PCASomdAHznyWQceRJGv4-wtg-P5Rm-rI_uJLjtE/edit) +* [Analysis updates and Q2 testing (AUDR) 2019-07-17](https://docs.google.com/presentation/d/1iZOoVYy4t3cG0VUMEj0swe9BfGJJ4_G1L4XOgvxSRvY) \ No newline at end of file From 03f498268de0f6162ef02c6af7717ad5b8971aa4 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Tue, 30 Jul 2019 16:10:03 +0100 Subject: [PATCH 02/13] clarify that analysis determines consequentialism --- rfcs/text/0000-audr-analysis-updates.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index c045aee7..02fa1421 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -27,11 +27,11 @@ This covers [use cases](https://docs.google.com/document/d/1rI8PCASomdAHznyWQceR Wranglers consider the **bolded** use cases in red to be critical for general availability. ## Detailed Design -A primary metadata update triggers a datastore notification. Per pipeline, Analysis performs: +A primary metadata update triggers a datastore notification. Per pipeline, Analysis determines what should happen: * **Update analysis.** The [meta]data change is in a file or parameter that updates an existing analysis (a “consequential” change). -* **New analysis.** The [meta]data change creates a new analysis. For example, the species changes from mouse to human and there is a pipeline for human on this data but not one for mouse. It may be that an analysis from a different pipeline already exists and this should not be superseded by the new analysis. -* **No update.** There is an existing analysis for this pipeline but the [meta]data change does not alter the analysis (an “inconsequential” change). For example, a change in the project description. +* **New analysis.** The [meta]data change should create a new analysis. For example, the species changes from mouse to human and there is a pipeline for human on this data but not one for mouse. It may be that an analysis from a different pipeline already exists and this should not be superseded by the new analysis. +* **No update.** There is an existing analysis for this pipeline but the [meta]data change does not affect it (an “inconsequential” change). For example, a change in the project description. The **update analysis** and **new analysis** scenarios can occur without a primary update. For example, a pipeline bug may be fixed which requires updates of the analyses it performed. Or a new pipeline may be created that can be run on existing data, where the existing analyses from other pipelines are still valid and so should not be superseded. From efd204949e478464fdc8280c582b424fe75f1513 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Wed, 31 Jul 2019 17:30:15 +0100 Subject: [PATCH 03/13] Update rfcs/text/0000-audr-analysis-updates.md Co-Authored-By: Matt Weiden <538456+mweiden@users.noreply.github.com> --- rfcs/text/0000-audr-analysis-updates.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index 02fa1421..337070d1 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -5,7 +5,6 @@ number and this pull request in the format:* `[dcp-community/rfc#](https://github.com/HumanCellAtlas/dcp-community/pull/)` # RFC Name -AUDR Analysis Updates ## Summary Enable analysis to update previous analyses and add new analyses alongside existing analyses. @@ -115,4 +114,4 @@ Analysis pre-declares to Ingest the metadata fields on which it will update anal * [Data model pre-RFC](https://docs.google.com/document/d/1CdIJ_pBdiiQUFh8kYARRhMXvhKXGERG3bdv763tpAKI/) * [Tech Arch: Handle notifications for insignificant bundle updates](https://docs.google.com/presentation/d/1_snBHeCVPjLmgZPKH2SbHk_I3-s6jLlEkPtz0eUY_Xc/edit?ts=5cfa7ddc) * [AUDR usecases](https://docs.google.com/document/d/1rI8PCASomdAHznyWQceRJGv4-wtg-P5Rm-rI_uJLjtE/edit) -* [Analysis updates and Q2 testing (AUDR) 2019-07-17](https://docs.google.com/presentation/d/1iZOoVYy4t3cG0VUMEj0swe9BfGJJ4_G1L4XOgvxSRvY) \ No newline at end of file +* [Analysis updates and Q2 testing (AUDR) 2019-07-17](https://docs.google.com/presentation/d/1iZOoVYy4t3cG0VUMEj0swe9BfGJJ4_G1L4XOgvxSRvY) From bcab6a3cf84ceb0e62fd3e515f4620900b651b01 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Wed, 31 Jul 2019 17:30:21 +0100 Subject: [PATCH 04/13] Update rfcs/text/0000-audr-analysis-updates.md Co-Authored-By: Matt Weiden <538456+mweiden@users.noreply.github.com> --- rfcs/text/0000-audr-analysis-updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index 337070d1..e607bb89 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -4,7 +4,7 @@ number and this pull request in the format:* `[dcp-community/rfc#](https://github.com/HumanCellAtlas/dcp-community/pull/)` -# RFC Name +# AUDR Analysis Updates ## Summary Enable analysis to update previous analyses and add new analyses alongside existing analyses. From 7a66798896d2d2ab3fa1eb3f43636779a6412a4c Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Tue, 6 Aug 2019 17:52:38 +0100 Subject: [PATCH 05/13] Remove reference to ga in connection with how wranglers view the usecases --- rfcs/text/0000-audr-analysis-updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index e607bb89..36a40aae 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -23,7 +23,7 @@ This covers [use cases](https://docs.google.com/document/d/1rI8PCASomdAHznyWQceR * Fix incorrect analysis using a corrected pipeline. * **Add better analysis using an improved pipeline.** -Wranglers consider the **bolded** use cases in red to be critical for general availability. +Wranglers consider the **bolded** use cases in red to be of greater importance than the other use cases. ## Detailed Design A primary metadata update triggers a datastore notification. Per pipeline, Analysis determines what should happen: From 2fb651c7f0c9a26d040057f8ad68866a97720635 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Tue, 6 Aug 2019 17:57:43 +0100 Subject: [PATCH 06/13] small markdown correction --- rfcs/text/0000-audr-analysis-updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index 36a40aae..1c97f4b7 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -46,7 +46,7 @@ To submit an updated analysis, Analysis will: 1. Create a submission envelope with the parameter isUpdate = true. 2. Add `analysis_process_0.json` with provenance.document_id set to the same UUID as the existing `analysis_process_0.json` -3. For other files that need updating, also add them to the envelope with the same provenance.document_id as their previous versions`.` +3. For other files that need updating, also add them to the envelope with the same provenance.document_id as their previous versions. 4. For files that only exist in the new analysis, add them to the envelope with any provenance.document_id. 5. For files that exist only in the older analysis, post an HTTP DELETE to their endpoint. 6. For files that are in both envelopes but don’t need updating, do nothing. From 5b5c1d859ff1178bfb5484ac484da6cd35508a2c Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Tue, 6 Aug 2019 17:58:31 +0100 Subject: [PATCH 07/13] clarify that analysis needs to add new files in an updated with a new uuid --- rfcs/text/0000-audr-analysis-updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index 1c97f4b7..9cd625a4 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -47,7 +47,7 @@ To submit an updated analysis, Analysis will: 1. Create a submission envelope with the parameter isUpdate = true. 2. Add `analysis_process_0.json` with provenance.document_id set to the same UUID as the existing `analysis_process_0.json` 3. For other files that need updating, also add them to the envelope with the same provenance.document_id as their previous versions. -4. For files that only exist in the new analysis, add them to the envelope with any provenance.document_id. +4. For files that only exist in the new analysis, add them to the envelope with a new provenance.document_id. 5. For files that exist only in the older analysis, post an HTTP DELETE to their endpoint. 6. For files that are in both envelopes but don’t need updating, do nothing. From a282f1ee0367ac61953405188a517f5d27a48ece Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Tue, 6 Aug 2019 18:03:51 +0100 Subject: [PATCH 08/13] clarify that adding/deleting/updating files occurs to analyses, not submission envelopes Also clarify what a submission envelope is --- rfcs/text/0000-audr-analysis-updates.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index 9cd625a4..3bb60906 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -48,8 +48,10 @@ To submit an updated analysis, Analysis will: 2. Add `analysis_process_0.json` with provenance.document_id set to the same UUID as the existing `analysis_process_0.json` 3. For other files that need updating, also add them to the envelope with the same provenance.document_id as their previous versions. 4. For files that only exist in the new analysis, add them to the envelope with a new provenance.document_id. -5. For files that exist only in the older analysis, post an HTTP DELETE to their endpoint. -6. For files that are in both envelopes but don’t need updating, do nothing. +5. For files that exist only in the older analysis, delete them by posting an HTTP DELETE to their endpoint in this envelope. +6. For files that are in both old and new analysis but don’t need updating, do nothing. + +Note that a submission envelope is a transaction that can add, delete or update any number of files in a project. ![](../images/0000-update-file-relationships.png) From f0ea700dbebe7f1b834e0363dd7d5c9b3cef618c Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Tue, 6 Aug 2019 18:21:33 +0100 Subject: [PATCH 09/13] state that files which don't change will have the same version in both old and new analyses --- rfcs/text/0000-audr-analysis-updates.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index 3bb60906..f7ac51a8 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -49,7 +49,8 @@ To submit an updated analysis, Analysis will: 3. For other files that need updating, also add them to the envelope with the same provenance.document_id as their previous versions. 4. For files that only exist in the new analysis, add them to the envelope with a new provenance.document_id. 5. For files that exist only in the older analysis, delete them by posting an HTTP DELETE to their endpoint in this envelope. -6. For files that are in both old and new analysis but don’t need updating, do nothing. +6. For files that are in both old and new analysis but don’t need updating, do nothing. These files will have the same +UUID and version in both the old and new analyses. Note that a submission envelope is a transaction that can add, delete or update any number of files in a project. From 30ed794d9e291dbc0901116c446b877ab2da0d52 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Fri, 23 Aug 2019 15:39:45 +0100 Subject: [PATCH 10/13] remove reference to use cases being in red --- rfcs/text/0000-audr-analysis-updates.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index f7ac51a8..c8dd2283 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -23,7 +23,7 @@ This covers [use cases](https://docs.google.com/document/d/1rI8PCASomdAHznyWQceR * Fix incorrect analysis using a corrected pipeline. * **Add better analysis using an improved pipeline.** -Wranglers consider the **bolded** use cases in red to be of greater importance than the other use cases. +Wranglers consider the **bolded** use cases to be of greater importance than the other use cases. ## Detailed Design A primary metadata update triggers a datastore notification. Per pipeline, Analysis determines what should happen: From c9dbd650d2f652e5c363624d78433d027c355186 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Fri, 30 Aug 2019 18:36:53 +0100 Subject: [PATCH 11/13] Update 0000-audr-analysis-updates.md --- rfcs/text/0000-audr-analysis-updates.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index c8dd2283..dd09af8d 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -4,6 +4,8 @@ number and this pull request in the format:* `[dcp-community/rfc#](https://github.com/HumanCellAtlas/dcp-community/pull/)` +2019-08-30: Rex and Saman requested more time to raise questions. Extended by a week. + # AUDR Analysis Updates ## Summary From 713bf7bf74b58021996016dd6e0943e1ee02273a Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Fri, 6 Sep 2019 12:12:57 +0100 Subject: [PATCH 12/13] pause rfc --- rfcs/text/0000-audr-analysis-updates.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index c8dd2283..b36a48a8 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -9,6 +9,9 @@ number and this pull request in the format:* ## Summary Enable analysis to update previous analyses and add new analyses alongside existing analyses. +**This RFC is paused. It requires a reconsideration of whether it's correct to specify analysis version through +bundle versioning. This is placing high demands on analysis and issues surrounding concurrency in ingest.** + ## Author(s) [Justin Clark-Casey](mailto:justincc@ebi.ac.uk) From 26ea3ce6f0563ec01084422a2de65c5c0d5f2f58 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey Date: Fri, 6 Sep 2019 12:14:42 +0100 Subject: [PATCH 13/13] adjust position of pause notice --- rfcs/text/0000-audr-analysis-updates.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rfcs/text/0000-audr-analysis-updates.md b/rfcs/text/0000-audr-analysis-updates.md index 08798f8a..f6f22ced 100644 --- a/rfcs/text/0000-audr-analysis-updates.md +++ b/rfcs/text/0000-audr-analysis-updates.md @@ -4,15 +4,15 @@ number and this pull request in the format:* `[dcp-community/rfc#](https://github.com/HumanCellAtlas/dcp-community/pull/)` -2019-08-30: Rex and Saman requested more time to raise questions. Extended by a week. +**2019-09-06: This RFC is paused. It requires a reconsideration of whether it's correct to specify analysis version through +bundle versioning. This is placing high demands on analysis and issues surrounding concurrency in ingest.** # AUDR Analysis Updates ## Summary Enable analysis to update previous analyses and add new analyses alongside existing analyses. -**This RFC is paused. It requires a reconsideration of whether it's correct to specify analysis version through -bundle versioning. This is placing high demands on analysis and issues surrounding concurrency in ingest.** + ## Author(s) [Justin Clark-Casey](mailto:justincc@ebi.ac.uk)