Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
parity
Mirrored projects
polkadot
Commits
0df0195a
Unverified
Commit
0df0195a
authored
Jan 02, 2021
by
asynchronous rob
Committed by
GitHub
Jan 02, 2021
Browse files
differentiate spans for erasure-coding and storage (#2185)
parent
2ad8c5cf
Pipeline
#118493
passed with stages
in 17 minutes and 53 seconds
Changes
1
Pipelines
3
Hide whitespace changes
Inline
Side-by-side
node/core/backing/src/lib.rs
View file @
0df0195a
...
...
@@ -288,7 +288,7 @@ async fn store_available_data(
//
// This will compute the erasure root internally and compare it to the expected erasure root.
// This returns `Err()` iff there is an internal error. Otherwise, it returns either `Ok(Ok(()))` or `Ok(Err(_))`.
#[tracing::instrument(level
=
"trace"
,
skip(tx_from,
pov),
fields(subsystem
=
LOG_TARGET))]
#[tracing::instrument(level
=
"trace"
,
skip(tx_from,
pov
,
span
),
fields(subsystem
=
LOG_TARGET))]
async
fn
make_pov_available
(
tx_from
:
&
mut
mpsc
::
Sender
<
FromJobCommand
>
,
validator_index
:
Option
<
ValidatorIndex
>
,
...
...
@@ -297,31 +297,39 @@ async fn make_pov_available(
candidate_hash
:
CandidateHash
,
validation_data
:
polkadot_primitives
::
v1
::
PersistedValidationData
,
expected_erasure_root
:
Hash
,
span
:
Option
<&
JaegerSpan
>
,
)
->
Result
<
Result
<
(),
InvalidErasureRoot
>
,
Error
>
{
let
available_data
=
AvailableData
{
pov
,
validation_data
,
};
let
chunks
=
erasure_coding
::
obtain_chunks_v1
(
n_validators
,
&
available_data
,
)
?
;
{
let
_span
=
span
.as_ref
()
.map
(|
s
|
s
.child
(
"erasure-coding"
));
let
chunks
=
erasure_coding
::
obtain_chunks_v1
(
n_validators
,
&
available_data
,
)
?
;
let
branches
=
erasure_coding
::
branches
(
chunks
.as_ref
());
let
erasure_root
=
branches
.root
();
let
branches
=
erasure_coding
::
branches
(
chunks
.as_ref
());
let
erasure_root
=
branches
.root
();
if
erasure_root
!=
expected_erasure_root
{
return
Ok
(
Err
(
InvalidErasureRoot
));
if
erasure_root
!=
expected_erasure_root
{
return
Ok
(
Err
(
InvalidErasureRoot
));
}
}
store_available_data
(
tx_from
,
validator_index
,
n_validators
as
u32
,
candidate_hash
,
available_data
,
)
.await
?
;
{
let
_span
=
span
.as_ref
()
.map
(|
s
|
s
.child
(
"store-data"
));
store_available_data
(
tx_from
,
validator_index
,
n_validators
as
u32
,
candidate_hash
,
available_data
,
)
.await
?
;
}
Ok
(
Ok
(()))
}
...
...
@@ -423,7 +431,6 @@ async fn validate_and_make_available(
);
Err
(
candidate
)
}
else
{
let
_span
=
span
.as_ref
()
.map
(|
s
|
s
.child
(
"make-available"
));
let
erasure_valid
=
make_pov_available
(
&
mut
tx_from
,
validator_index
,
...
...
@@ -432,6 +439,7 @@ async fn validate_and_make_available(
candidate
.hash
(),
validation_data
,
candidate
.descriptor.erasure_root
,
span
.as_ref
(),
)
.await
?
;
match
erasure_valid
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment