Error "invalid argument" opening siva file
jfontan opened this issue · 5 comments
Some jobs give invalid argument
error:
{"endpoint":"https://bitbucket.org/acekk/labs-c.git","error":"push to rooted repo 9825d17d60a4e53a485127759a98d08fa6980ce1 failed: open /borges/root-repositories/98/9825d17d60a4e53a485127759a98d08fa6980ce1.siva: invalid argument","job":"01637ec4-5ae9-84fc-342c-7be4ef7f2286","level":"error","msg":"error pushing changes to rooted repository","root":"9825d17d60a4e53a485127759a98d08fa6980ce1","source":"go-log.v1/logger.go:37","time":"2018-05-21T01:16:55.960449317Z"}
{"endpoint":"git://github.com/msbanik/Spoon-Knife","error":"push to rooted repo 090cf8db449ddcc64c35696cf7ca5bdcf121030c failed: open /borges/root-repositories/09/090cf8db449ddcc64c35696cf7ca5bdcf121030c.siva: invalid argument","job":"01637efe-506d-f733-3546-5bb3a9e0e04f","level":"error","msg":"error pushing changes to rooted repository","root":"090cf8db449ddcc64c35696cf7ca5bdcf121030c","source":"go-log.v1/logger.go:37","time":"2018-05-21T02:13:25.306452022Z"}
{"endpoint":"https://bitbucket.org/camivepe/coding-dojo-java.git","error":"push to rooted repo 4b8e82a305db5687c916dc5faa85f399a0cebdad failed: open /borges/root-repositories/4b/4b8e82a305db5687c916dc5faa85f399a0cebdad.siva: invalid argument","job":"01637a96-f612-9b51-5711-adc297881197","level":"error","msg":"error pushing changes to rooted repository","root":"4b8e82a305db5687c916dc5faa85f399a0cebdad","source":"go-log.v1/logger.go:37","time":"2018-05-21T06:01:20.959425669Z"}
{"endpoint":"git://github.com/swatia/nbdn_prep","error":"push to rooted repo 0d00704ec63cab26ccbab5c5c9504a2c8b2ade9d failed: open /borges/root-repositories/0d/0d00704ec63cab26ccbab5c5c9504a2c8b2ade9d.siva: invalid argument","job":"01637a9d-2ef3-fadd-5f5c-f38c22d91c79","level":"error","msg":"error pushing changes to rooted repository","root":"0d00704ec63cab26ccbab5c5c9504a2c8b2ade9d","source":"go-log.v1/logger.go:37","time":"2018-05-21T06:05:59.435082205Z"}
{"endpoint":"git://github.com/mike-simmons/gap2412011","error":"push to rooted repo 3c160cdb037632436fe239c541e1cbc42aff72ae failed: open /borges/root-repositories/3c/3c160cdb037632436fe239c541e1cbc42aff72ae.siva: invalid argument","job":"01637abd-f782-0fe4-9754-ec9cc99131d7","level":"error","msg":"error pushing changes to rooted repository","root":"3c160cdb037632436fe239c541e1cbc42aff72ae","source":"go-log.v1/logger.go:37","time":"2018-05-21T07:08:17.963624257Z"}
{"endpoint":"git://github.com/duritong/puppet-gpg","error":"push to rooted repo c88d6089371b8739e458415e1c2d050c8ee9a469 failed: open /borges/root-repositories/c8/c88d6089371b8739e458415e1c2d050c8ee9a469.siva: invalid argument","job":"01637b3a-c2f0-0948-595a-9283a95bc908","level":"error","msg":"error pushing changes to rooted repository","root":"c88d6089371b8739e458415e1c2d050c8ee9a469","source":"go-log.v1/logger.go:37","time":"2018-05-21T10:45:22.508389607Z"}
Check the cause and of the path is correct. Pushing to rooted repos should be done to tmp and not the final directory.
Path is correct. This error comes from pushChangesToRootedRepository
which does also write to the remote (once it's finished pushing changes).
At least locally, this cannot be reproduced with any of these repositories.
I'm looking at the open
documentation and EINVAL
is just returned in the following cases:
O_DIRECT
was used and kernel is <2.4, which is not in our case.O_TMPFILE
was specified in flags, but neitherO_WRONLY
norO_RDWR
was specified, which is not our case.- Invalid value in flags.
O_CREAT
was specified but basename is not valid.
Last two are the only possible ones, specially the third one.
Flags seem to be okay, can't reproduce this with HDFS either.
Tried with updates and still can't reproduce the error.
The only part that could be throwing this error is stdlib file_unix.go
line 168, which would mean there is some issue with the syscall and that's very weird.
The HDFS client library does not return any invalid errors and the HDFS errors don't look like that, so it must be on the Go side.
We may want to take a look to glusterfs logs as they may have more information.