This is an archive of the discontinued Mercurial Phabricator instance.

infinitepush: add logic to support old clients on the basis of pushkey part
Needs RevisionPublic

Authored by pulkit on Dec 10 2017, 7:34 PM.
Tags
None
Subscribers
None

Details

Reviewers
durham
Group Reviewers
Restricted Project
Summary

This patch adds logic to check whether a push is an infinitepush or not from
an old client or client who don't have infinitepush client logic.

Diff Detail

Repository
rFBHGX Facebook Mercurial Extensions
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

pulkit created this revision.Dec 10 2017, 7:34 PM
Herald added a reviewer: Restricted Project. · View Herald TranscriptDec 10 2017, 7:34 PM
durham requested changes to this revision.Jan 9 2018, 11:08 AM

Could this have a test? Is there a config knob to disable bundle2 or force bundle1?

infinitepush/__init__.py
1055

I'd make it clear that this will have performance impact.

1080

Can we add a comment saying this could require a lot of memory, and that we might want to move this to being stored on disk in the future?

1108

I'd rename this supportoldclients, since it's a server configuration.

This revision now requires changes to proceed.Jan 9 2018, 11:08 AM
pulkit added a comment.EditedJan 11 2018, 4:47 AM

Status update: While adding tests, I found that I am reading the part twice, once for adding in bundlepart and once for the copied part. Since I can't read that twice, I need to do better here with the logic involved.