... | ... | @@ -76,7 +76,7 @@ The aforementioned mechanism based on json files allows to retrieve asynchronous |
|
|
|
|
|
Replication process triggered client-side without PID registration ( **registered data boolean flag** = False) {look at [test rule][2]}:
|
|
|
|
|
|
![replication](https://raw.githubusercontent.com/wiki/EUDAT-B2SAFE/B2SAFE-core/b2safe_flows_replication_v2.png)
|
|
|
![replication](https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/wikis/b2safe_flows_replication_v2.png)
|
|
|
|
|
|
The red box with the label "Messaging system" is an experimental feature to provide back the results in case of asynchronous (server side triggered) process. The messages are posted to a queue which can be accessed via HTTP interface.
|
|
|
|
... | ... | @@ -104,7 +104,7 @@ The red box with the label "Messaging system" is an experimental feature to prov |
|
|
|
|
|
Replication process triggered client-side with PID registration ( **registered data boolean flag** = True) {look at [test rule][3]}:
|
|
|
|
|
|
![replication 2](https://raw.githubusercontent.com/wiki/EUDAT-B2SAFE/B2SAFE-core/b2safe_flows_registered-replication_v2.png)
|
|
|
![replication 2](https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/wikis/b2safe_flows_registered-replication_v2.png)
|
|
|
|
|
|
**System metadata Zone A**
|
|
|
|
... | ... | @@ -211,7 +211,7 @@ In this case the replication is performed with **registered data boolean flag = |
|
|
}
|
|
|
OUTPUT ruleExecOut
|
|
|
|
|
|
![replication async](https://raw.githubusercontent.com/wiki/EUDAT-B2SAFE/B2SAFE-core/b2safe_flows_registration.png)
|
|
|
![replication async](https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/wikis/b2safe_flows_registration.png)
|
|
|
|
|
|
**Registration rule**
|
|
|
|
... | ... | @@ -235,7 +235,7 @@ In this case the replication is performed with **registered data boolean flag = |
|
|
|
|
|
This procedure allows to verify the coherence between a digital object and its replica.
|
|
|
|
|
|
![integrity check](https://raw.githubusercontent.com/wiki/EUDAT-B2SAFE/B2SAFE-core/b2safe_flows_integrity-check.png)
|
|
|
![integrity check](https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/wikis/b2safe_flows_integrity-check.png)
|
|
|
|
|
|
The boolean input parameter **log enabled** allows to enable the logging of failed checks. In this way it is possible to manage the inconsistencies both in a synchronous way (**log enabled**=False) and in a asynchronous way (**log enabled**=True). For the second option see the pattern "Recover failed transfers from the logging system's queue", while the first option implies to couple the integrity check procedure with another one like "Replication".
|
|
|
|
... | ... | @@ -265,7 +265,7 @@ Error messages: |
|
|
|
|
|
### Recover failed transfers from the logging system's queue {look at [test rule][6]}
|
|
|
|
|
|
![integrity check](https://raw.githubusercontent.com/wiki/EUDAT-B2SAFE/B2SAFE-core/b2safe_flows_failrecover_v2.png)
|
|
|
![integrity check](https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/wikis/b2safe_flows_failrecover_v2.png)
|
|
|
|
|
|
The input parameter **buffer length** defines the number of failed operations that are processed by the rule. They are the last operations logged in the queue. If the parameter is > of the queue length, the process stops after the last operation logged in the queue.
|
|
|
|
... | ... | @@ -282,7 +282,7 @@ The input parameter **buffer length** defines the number of failed operations th |
|
|
|
|
|
### Update URL field in the PID record
|
|
|
|
|
|
![integrity check](https://raw.githubusercontent.com/wiki/EUDAT-B2SAFE/B2SAFE-core/b2safe_flows_url-update.png)
|
|
|
![integrity check](https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/wikis/b2safe_flows_url-update.png)
|
|
|
|
|
|
**Update rule**
|
|
|
|
... | ... | @@ -293,9 +293,9 @@ The input parameter **buffer length** defines the number of failed operations th |
|
|
}
|
|
|
OUTPUT ruleExecOut
|
|
|
|
|
|
[1]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatCreatePid.r "eudatCreatePid.r"
|
|
|
[2]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatRepl_not_registered.r "eudatRepl_not_registered.r"
|
|
|
[3]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatRepl_registered.r "eudatRepl_registered.r"
|
|
|
[4]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatRepl_coll.r "eudatRepl_coll.r"
|
|
|
[5]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatRepl_checkIntegrity.r "eudatRepl_checkIntegrity.r"
|
|
|
[6]: https://github.com/EUDAT-B2SAFE/B2SAFE-core/blob/master/rules/eudatRepl_recoverTransfer.r "eudatRepl_recoverTransfer.r" |
|
|
\ No newline at end of file |
|
|
[1]: https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/blob/master/rules/eudatCreatePid.r "eudatCreatePid.r"
|
|
|
[2]: https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/blob/master/rules/eudatRepl_not_registered.r "eudatRepl_not_registered.r"
|
|
|
[3]: https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/blob/master/rules/eudatRepl_registered.r "eudatRepl_registered.r"
|
|
|
[4]: https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/blob/master/rules/eudatRepl_coll.r "eudatRepl_coll.r"
|
|
|
[5]: https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/blob/master/rules/eudatRepl_checkIntegrity.r "eudatRepl_checkIntegrity.r"
|
|
|
[6]: https://gitlab.eudat.eu/b2safe/B2SAFE-core/-/blob/master/rules/eudatRepl_recoverTransfer.r "eudatRepl_recoverTransfer.r" |
|
|
\ No newline at end of file |