Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(proof-data-handler): add tee_proof_generation_timeout_in_secs param #3128

Merged
merged 4 commits into from
Oct 25, 2024

Conversation

pbeza
Copy link
Collaborator

@pbeza pbeza commented Oct 18, 2024

What ❔

Add tee_proof_generation_timeout_in_secs parameter to the proof-data-handler configuration to avoid sharing the same proof_generation_timeout_in_secs timeout with the ZK prover.

This timeout is for retrying TEE proof generation if it fails. Retries continue indefinitely until successful.

Why ❔

The TEE prover is much faster than the ZK prover, so some of the ZK timeouts are too long to be shared with the TEE-specific code.

Checklist

  • PR title corresponds to the body of PR (we generate changelog entries from PRs).
  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.
  • Code has been formatted via zkstack dev fmt and zkstack dev lint.

@pbeza pbeza requested review from haraldh and slowli October 18, 2024 14:51
@pbeza pbeza force-pushed the tee/pab/feat-tee-specific-proof-data-handler-timeout branch from 41d0c85 to 88edd26 Compare October 18, 2024 14:54
@pbeza pbeza marked this pull request as ready for review October 18, 2024 14:55
@pbeza
Copy link
Collaborator Author

pbeza commented Oct 18, 2024

Perhaps I should extract the TEE-specific options, like I did in #3112 (which hasn't been merged yet):

#[derive(Debug, Deserialize, Clone, PartialEq)]
pub struct TeeConfig {
/// If true, the TEE support is enabled.
#[serde(deserialize_with = "deserialize_stringified_any")]
pub tee_support: bool,
/// All batches before this one are considered to be processed.
#[serde(deserialize_with = "deserialize_stringified_any", default)]
pub first_tee_processed_batch: L1BatchNumber,
}
#[derive(Debug, Deserialize, Clone, PartialEq)]
pub struct ProofDataHandlerConfig {
pub http_port: u16,
pub proof_generation_timeout_in_secs: u16,
#[serde(flatten)]
pub tee_config: TeeConfig,
}

Lemme know what's your preference, @haraldh @slowli.

In case you wondered what is deserialize_stringified_any about:

// Boilerplate to workaround https://github.com/softprops/envy/issues/26

Edit

Updated. ✅

@pbeza pbeza force-pushed the tee/pab/feat-tee-specific-proof-data-handler-timeout branch 5 times, most recently from 6fbc503 to 0a495d4 Compare October 24, 2024 15:38
Add `tee_proof_generation_timeout_in_secs` parameter to the
`proof-data-handler` configuration to avoid sharing the same
`proof_generation_timeout_in_secs` timeout with the prover.

This timeout is for retrying TEE proof generation if it fails. Retries
continue indefinitely until successful.
@pbeza pbeza force-pushed the tee/pab/feat-tee-specific-proof-data-handler-timeout branch from 0a495d4 to 952b50d Compare October 25, 2024 08:31
haraldh
haraldh previously approved these changes Oct 25, 2024
@haraldh haraldh added this pull request to the merge queue Oct 25, 2024
@haraldh haraldh removed this pull request from the merge queue due to a manual request Oct 25, 2024
slowli
slowli previously approved these changes Oct 25, 2024
core/lib/config/src/configs/proof_data_handler.rs Outdated Show resolved Hide resolved
@pbeza pbeza dismissed stale reviews from slowli and haraldh via db8ac3a October 25, 2024 11:22
@haraldh haraldh enabled auto-merge October 25, 2024 11:32
@haraldh haraldh added this pull request to the merge queue Oct 25, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Oct 25, 2024
@haraldh haraldh added this pull request to the merge queue Oct 25, 2024
Merged via the queue into main with commit f3724a7 Oct 25, 2024
43 checks passed
@haraldh haraldh deleted the tee/pab/feat-tee-specific-proof-data-handler-timeout branch October 25, 2024 14:33
github-merge-queue bot pushed a commit that referenced this pull request Nov 5, 2024
🤖 I have created a release *beep* *boop*
---


##
[25.1.0](core-v25.0.0...core-v25.1.0)
(2024-11-04)


### Features

* add `block.timestamp` asserter for AA
([#3031](#3031))
([069d38d](069d38d))
* allow vm2 tracers to stop execution
([#3183](#3183))
([9dae839](9dae839))
* **api:** get rid of tx receipt root
([#3187](#3187))
([6c034f6](6c034f6))
* **api:** Integrate new VM into API server (no tracers)
([#3033](#3033))
([8e75d4b](8e75d4b))
* base token integration tests
([#2509](#2509))
([8db7e93](8db7e93))
* **consensus:** enabled syncing pregenesis blocks over p2p
([#3192](#3192))
([6adb224](6adb224))
* **da-clients:** add Celestia client
([#2983](#2983))
([d88b875](d88b875))
* **da-clients:** add EigenDA client
([#3155](#3155))
([5161eed](5161eed))
* gateway preparation
([#3006](#3006))
([16f2757](16f2757))
* Implement gas relay mode and inclusion data for data attestation
([#3070](#3070))
([561fc1b](561fc1b))
* **metadata-calculator:** Add debug endpoints for tree API
([#3167](#3167))
([3815252](3815252))
* **proof-data-handler:** add first processed batch option
([#3112](#3112))
([1eb69d4](1eb69d4))
* **proof-data-handler:** add tee_proof_generation_timeout_in_secs param
([#3128](#3128))
([f3724a7](f3724a7))
* **prover:** Add queue metric to report autoscaler view of the queue.
([#3206](#3206))
([2721396](2721396))
* **prover:** Add sending scale requests for Scaler targets
([#3194](#3194))
([767c5bc](767c5bc))
* **prover:** Add support for scaling WGs and compressor
([#3179](#3179))
([c41db9e](c41db9e))
* **vm:** Support EVM emulation in fast VM
([#3163](#3163))
([9ad1f0d](9ad1f0d))


### Bug Fixes

* **consensus:** better logging of errors
([#3170](#3170))
([a5028da](a5028da))
* **consensus:** made attestation controller non-critical
([#3180](#3180))
([6ee9f1f](6ee9f1f))
* **consensus:** payload encoding protected by protocol_version
([#3168](#3168))
([8089b78](8089b78))
* **da-clients:** add padding to the data within EigenDA blob
([#3203](#3203))
([8ae06b2](8ae06b2))
* **da-clients:** enable tls-roots feature for tonic
([#3201](#3201))
([42f177a](42f177a))
* extend allowed storage slots for validation as per EIP-7562
([#3166](#3166))
([c76da16](c76da16))
* **merkle-tree:** Fix tree truncation
([#3178](#3178))
([9654097](9654097))
* **tee_prover:** add prometheus pull listener
([#3169](#3169))
([1ffd22f](1ffd22f))
* update logging in cbt l1 behaviour
([#3149](#3149))
([d0f61b0](d0f61b0))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants