Skip to content

Add way to signal encoding used for CompressedAttributes to Mixer#770

Merged
wenchenglu merged 2 commits intoistio:release-1.1from
douglas-reid:mixer-protocol-fix-release-1.1
Jan 30, 2019
Merged

Add way to signal encoding used for CompressedAttributes to Mixer#770
wenchenglu merged 2 commits intoistio:release-1.1from
douglas-reid:mixer-protocol-fix-release-1.1

Conversation

@douglas-reid
Copy link
Copy Markdown
Contributor

Based on discussions around istio/istio#11151, this PR is meant to add a way to distinguish between the mixed ways in which release-1.0 and release-1.1 handle encoding of attributes in the client.

I'm looking for feedback on naming, etc.

@googlebot googlebot added the cla: yes Set by the Google CLA bot to indicate the author of a PR has signed the Google CLA. label Jan 22, 2019
@douglas-reid douglas-reid removed the request for review from sebastienvas January 22, 2019 22:29
@kyessenov
Copy link
Copy Markdown
Contributor

If I were to design this again, I would not reuse the same field to mean two different things.
Perhaps, we need a new field:

  repeated CompressedAttributes delta_attributes

to separate delta-encoded from regular attribute bags.

You can in theory send both at the same time.

@douglas-reid
Copy link
Copy Markdown
Contributor Author

Ping: @geeknoid @mandarjog . This is a P0 for release-1.1. We need some consensus on a resolution.

@douglas-reid douglas-reid requested a review from ozevren January 23, 2019 18:48
@geeknoid
Copy link
Copy Markdown
Contributor

I left a comment in the bug about the fact I don't think we need to support non-compressed batches. Instead, when an attribute needs to be deleted, just start a fresh batch.

@douglas-reid
Copy link
Copy Markdown
Contributor Author

@geeknoid are you suggesting that we increase the number of ReportRequests sent when we encounter "missing" attributes? That seems like a larger architectural change. I'm not sure how to evaluate that in the context of 1.1.

It seems that we already switched to non-compressed batches... but we don't have a way to distinguish between versions of the client library.

I'm hoping to find some relatively safe way of moving forward.

@geeknoid
Copy link
Copy Markdown
Contributor

geeknoid commented Jan 23, 2019 via email

@douglas-reid
Copy link
Copy Markdown
Contributor Author

@geeknoid you are much more optimistic than I am :).

@qiwzhang how hard would it be to modify the client to detect "deletions" and break apart batches (resulting in increased number of Report() calls) ?

@geeknoid
Copy link
Copy Markdown
Contributor

/lgtm
/approve

@istio-testing
Copy link
Copy Markdown
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: douglas-reid, geeknoid

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@douglas-reid
Copy link
Copy Markdown
Contributor Author

@wenchenglu would you be able to merge this PR?

@wenchenglu wenchenglu merged commit 1b0a034 into istio:release-1.1 Jan 30, 2019
@kyessenov
Copy link
Copy Markdown
Contributor

@douglas-reid are you working on the proxy change to set the field property?

@douglas-reid
Copy link
Copy Markdown
Contributor Author

@kyessenov sorta. i'm working on a few changes in the proxy... but progress is slow, as I try to test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: yes Set by the Google CLA bot to indicate the author of a PR has signed the Google CLA.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants