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

Update golang/x/[crypto|net|sys|text|tools] dependencies #6246

Conversation

cyrilleverrier
Copy link
Contributor

@cyrilleverrier cyrilleverrier commented Jan 31, 2018

Update golang/x/[crypto|net|sys|text|tools] dependencies in the vendor folder

This script updates one or all golang/x/<name> dependencies in the vendor folder.
It calls `govendor` tool to update the dependencies to the specified version
@elasticmachine
Copy link
Collaborator

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

WARNING: No version information found for: github.com/stretchr/objx
@ph ph added the libbeat label Jan 31, 2018
@cyrilleverrier
Copy link
Contributor Author

cyrilleverrier commented Feb 1, 2018

@ruflin there is a failing test in filebeat:

======================================================================
ERROR: Tests that in case of a decoding error it is handled gracefully
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/go/src/github.com/elastic/beats/filebeat/tests/system/test_harvester.py", line 811, in test_decode_error
    max_timeout=5)
  File "/go/src/github.com/elastic/beats/filebeat/tests/system/../../../libbeat/tests/system/beat/beat.py", line 319, in wait_until
    "Waited {} seconds.".format(max_timeout))
TimeoutError: Timeout waiting for 'cond' to be true. Waited 5 seconds.

When I run the test locally, I reproduce the same error.

The simplified chinese string is actually decoded successfully.
Invalid characters are replaced by the unicode \ufffd

2018-02-01T10:16:38.728+0100	DEBUG	[publish]	pipeline/processor.go:275	Publish event: {
  "@timestamp": "2018-02-01T09:16:38.728Z",
  "@metadata": {
    "beat": "filebeat",
    "type": "doc",
    "version": "7.0.0-alpha1"
  },
  "message": "\u003cmeta content=\"鐬�В銆孏oogle 鍟嗘キ瑙f焙鏂规�銆嶆彁渚涚殑鍚勯�鏈嶅嫏杌熶欢濡備綍鍔╂偍鍒嗘瀽璩囨枡銆佸垔鐧诲唬鍛娿€佹彁鍗囩恫绔欐垚鏁堢瓑銆�\" name=\"description\"\u003e",
  "prospector": {
    "type": "log"
  },
  "input": {
    "type": "log"
  },
  "beat": {
    "name": "cyrille",
    "hostname": "cyrille",
    "version": "7.0.0-alpha1"
  },
  "source": "/home/cyrille/code/go/src/github.com/elastic/beats/filebeat/build/system-tests/run/test_harvester.Test.test_decode_error/log/test.log",
  "offset": 180
}

this is after upgrading golang.org/x/text/ from golang/text@2910a50 to golang/text@e19ae14

See golang/go#18898: All decoders should no longer return errors except for the opt-in error for UTF-16/32.

After upgrading golang.org/x/text, All decoders should no longer return errors except for the opt-in error for UTF-16/32.

Update the systen test case to try a broken UTF-16 string
@cyrilleverrier
Copy link
Contributor Author

test has been fixed and Travis is happy

@ruflin ruflin added the review label Feb 3, 2018
@ruflin
Copy link
Contributor

ruflin commented Feb 3, 2018

jenkins, test it

@ruflin
Copy link
Contributor

ruflin commented Feb 3, 2018

@urso Could you have a look at the changes for the decoder?

@ruflin
Copy link
Contributor

ruflin commented Feb 3, 2018

@cyrilleverrier Are the versions you picked the most recent once? I wonder as this is quite massive if we should update each dependency with a separate PR to better be able to track later some issue and nail it down to one dependency change. At the same time I'm hoping we don't hit any issues :-)

@elastic/beats Any thoughts?

@cyrilleverrier
Copy link
Contributor Author

@ruflin I used the latest versions. I think it's more appropriate to use the release-branch.go1.9 branch, don't you think?

@ruflin
Copy link
Contributor

ruflin commented Feb 4, 2018

@cyrilleverrier Yes, definitively. I didn't even know they have go specific branches.

     python ./script/update_golang_x.py --revision release-branch.go1.9 net
     python ./script/update_golang_x.py --revision release-branch.go1.9 tools
@cyrilleverrier
Copy link
Contributor Author

@urso
Copy link

urso commented Feb 5, 2018

Update of x/text LGTM. Happy it was not much effort. Last time we tried it didn't go that well.

@ruflin
Copy link
Contributor

ruflin commented Feb 6, 2018

jenkins, test it

Copy link
Contributor

@ruflin ruflin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change LGTM. WFG (waiting for green).

@elastic/apm-server This change might also be relevant for you.

@ruflin
Copy link
Contributor

ruflin commented Feb 6, 2018

@cyrilleverrier
Copy link
Contributor Author

@ruflin I don't have a windows OS. Can someone else look into it ?

@ruflin ruflin mentioned this pull request Feb 8, 2018
@ruflin
Copy link
Contributor

ruflin commented Feb 9, 2018

@cyrilleverrier To move this forward, could you open 1 PR per lib update? I think the only blocking one is text. Like this we can get the other ones in quickly.

@cyrilleverrier
Copy link
Contributor Author

Individual PR have been submitted. Closing this one.

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

Successfully merging this pull request may close these issues.

5 participants