DataBiosphere / azul

Metadata indexer and query service used for AnVIL, HCA, LungMAP, and CGP
Apache License 2.0
7 stars 2 forks source link

scripts/velocity.py failed #2422

Closed hannes-ucsc closed 3 years ago

hannes-ucsc commented 3 years ago

https://github.com/DataBiosphere/azul/actions/runs/344468542

natanlao commented 3 years ago

I am reasonably confident that this is an issue with Gitlab. I've listed potential approaches at the end of this comment.

Trying to upload the velocity report to Gitlab via their wiki API results in the following HTTP 500: An unhandled lowlevel error occurred. The application logs may have details..

The API is choking on an & in the report text in the title from #2308 (Make TDR & DSS plugin concurrency configurable; use 1 for TDR (#2281)), but the ampersand alone is insufficient to reproduct the issue. The failure is logged as:

==> /var/log/gitlab/puma/puma_stderr.log <==
2020-11-06 00:10:11 +0000: Rack app error handling request { POST /api/v4/projects/1/wikis }
#<RangeError: RangeError>
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:79:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:113:in `normalize_params'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:67:in `block in parse_nested_query'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:64:in `each'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/query_parser.rb:64:in `parse_nested_query'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/request.rb:468:in `parse_query'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/request.rb:343:in `POST'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/method_override.rb:43:in `method_override_param'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/method_override.rb:27:in `method_override'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/method_override.rb:15:in `call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/runtime.rb:22:in `call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-timeout-0.5.2/lib/rack/timeout/core.rb:123:in `block in call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-timeout-0.5.2/lib/rack/timeout/support/timeout.rb:19:in `timeout'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-timeout-0.5.2/lib/rack/timeout/core.rb:122:in `call'
/opt/gitlab/embedded/service/gitlab-rails/config/initializers/fix_local_cache_middleware.rb:9:in `call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/sendfile.rb:111:in `call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/host_authorization.rb:76:in `call'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/metrics/requests_rack_middleware.rb:60:in `call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/sentry-raven-3.0.4/lib/raven/integrations/rack.rb:51:in `call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/railties-6.0.3.1/lib/rails/engine.rb:527:in `call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/railties-6.0.3.1/lib/rails/railtie.rb:190:in `public_send'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/railties-6.0.3.1/lib/rails/railtie.rb:190:in `method_missing'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/middleware/release_env.rb:12:in `call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/urlmap.rb:68:in `block in call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/urlmap.rb:53:in `each'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/rack-2.0.9/lib/rack/urlmap.rb:53:in `call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-puma-4.3.5.gitlab.3/lib/puma/configuration.rb:228:in `call'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-puma-4.3.5.gitlab.3/lib/puma/server.rb:722:in `handle_request'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-puma-4.3.5.gitlab.3/lib/puma/server.rb:481:in `process_client'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-puma-4.3.5.gitlab.3/lib/puma/server.rb:335:in `block in run'
/opt/gitlab/embedded/lib/ruby/gems/2.6.0/gems/gitlab-puma-4.3.5.gitlab.3/lib/puma/thread_pool.rb:138:in `block in spawn_thread'

The smallest reproduction I can manage is

report-test.md:

|[@achave11](https://github.com/achave11)|[DataBiosphere/azul#2308](https://github.com/DataBiosphere/azul/pull/2308): Make TDR & DSS plugin concurrency configurable; use 1 for TDR (#2281)|5|2|34|0.059|
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-browser#1373](https://github.com/HumanCellAtlas/data-browser/pull/1373): Removed location from curl command. Resolves #1362.|||4||
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-browser#1372](https://github.com/HumanCellAtlas/data-browser/pull/1372): Removed references to release. Resolves #1359.|||18||
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-browser#1371](https://github.com/HumanCellAtlas/data-browser/pull/1371): Removed filename param for v2. Resolves #1341.|1||30||
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-browser#1370](https://github.com/HumanCellAtlas/data-browser/pull/1370): Added feedback form. Resolves #1307.|||2731||
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-browser#1367](https://github.com/HumanCellAtlas/data-browser/pull/1367): Removed status banner for DCP1. Resolves #1366.|||2||
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-portal#777](https://github.com/HumanCellAtlas/data-portal/pull/777): Minor linting. Resolves #767.|||3||
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-portal#776](https://github.com/HumanCellAtlas/data-portal/pull/776): Updated packages to address security warnings. Resolves #775.|||2591||

|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-portal#774](https://github.com/HumanCellAtlas/data-portal/pull/774): Removed references to release. Resolves #767.|||4||
|[@frano-m](https://github.com/frano-m)|[HumanCellAtlas/data-portal#773](https://github.com/HumanCellAtlas/data-portal/pull/773): Upgrade data portal to the latest gatsbyjs to address security and bugs. Resolves #772.|||24703||
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-portal#770](https://github.com/HumanCellAtlas/data-portal/pull/770): Removed status banner for DCP1. Resolves #769.|||14||
|[@noah-aviel-dove](https://github.com/noah-aviel-dove)|[DataBiosphere/hca-metadata-api#29](https://github.com/DataBiosphere/hca-metadata-api/pull/29): Make `sha1` and `s3_etag` checksums optional (#28)|2||37||

Of the 21 pull requests closed in this reporting period, 6 pull requests were closed but not merged. Points for these PRs are not counted towards contributor totals above.

| Author | Pull request | Linked estimate | Review cycles | Lines changed | Ratio |
| ------ | ------------ | :-------------: | :-----------: | :-----------: | :---: |
|[@snyk-bot](https://github.com/snyk-bot)|[DataBiosphere/azul#2316](https://github.com/DataBiosphere/azul/pull/2316): [Snyk] Security upgrade urllib3 from 1.24.3 to 1.25.9|||2||
|[@danielsotirhos](https://github.com/danielsotirhos)|[DataBiosphere/azul#2309](https://github.com/DataBiosphere/azul/pull/2309): Add support for user-contributed matrices (#2248)|||729||
|[@dependabot[bot]](https://github.com/apps/dependabot)|[HumanCellAtlas/data-browser#1327](https://github.com/HumanCellAtlas/data-browser/pull/1327): Bump node-sass from 4.12.0 to 4.13.1 in /spa|||16||
|[@frano-m](https://github.com/frano-m)|[HumanCellAtlas/data-portal#771](https://github.com/HumanCellAtlas/data-portal/pull/771): Make Metadata Dictionary Searchable. Highlighter functionality. #260.|||9233||
|[@frano-m](https://github.com/frano-m)|[HumanCellAtlas/data-portal#768](https://github.com/HumanCellAtlas/data-portal/pull/768): Make Metadata Dictionary Searchable. #260.|||8691||
|[@dependabot[bot]](https://github.com/apps/dependabot)|[HumanCellAtlas/data-portal#723](https://github.com/HumanCellAtlas/data-portal/pull/723): Bump prismjs from 1.19.0 to 1.21.0|||14||
## Resolved issues
At the time this report was generated, 9 were marked closed in the reporting period. This indicates that the associated work is considered to have "landed" and been demoed.
| Assignees | Issue | Estimate |
| --------- | ----- | :------: |
|[@noah-aviel-dove](https://github.com/noah-aviel-dove)|[DataBiosphere/azul#2376](https://github.com/DataBiosphere/azul/issues/2376): Index snapshot hca_dev_20201023_ebiv4___20201023|1|
|[@natanlao](https://github.com/natanlao)|[DataBiosphere/azul#2366](https://github.com/DataBiosphere/azul/issues/2366): Update stale Kibana image in `scripts/kibana_proxy.py`||
|[@hannes-ucsc](https://github.com/hannes-ucsc)|[DataBiosphere/azul#2169](https://github.com/DataBiosphere/azul/issues/2169): Guidelines missing from contribution guide |2|
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-browser#1366](https://github.com/HumanCellAtlas/data-browser/issues/1366): Temporarily hide system status banner for  DCP1||
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-browser#1365](https://github.com/HumanCellAtlas/data-browser/issues/1365): Create v1.data.humancellatlas.org domain in Google Analytics ||
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-browser#539](https://github.com/HumanCellAtlas/data-browser/issues/539): Make accessions on project page linkable.  |8|
|[@MillenniumFalconMechanic](https://github.com/MillenniumFalconMechanic)|[HumanCellAtlas/data-portal#769](ht
$ curl -X POST --data-urlencode "format=rdoc" --data-urlencode "title=foo" --data content="$(cat report_test.md)" --header "PRIVATE-TOKEN: ..." "https://gitlab.dev.singlecell.gi.ucsc.edu/api/v4/projects/1/wikis"

Potential approaches, which are not necessarily mutually exclusive:

hannes-ucsc commented 3 years ago

Not a very small repro. Before we blame Gitlab:

The method you link to may be deprecated but it is not the one referenced in the stack trace. This is the method and it is not deprecated: https://github.com/rack/rack/blob/cd5d902ac801f0bebeeb5d8dc534f717c9822b9b/lib/rack/query_parser.rb#L113

I think --data content="$(cat …) is not suitable for this. For one, it could create a very large command line (the limit is 64k IIRC). There are better ways to pass data in the body of a POST with curl, ways that read from stdin. But also, it uses the form-urlencode encoding in which & has special meaning.

natanlao commented 3 years ago

Your assessment was correct; I was able to resolve the issue by replacing the in-command substitution. Because this fix is straightforward, I'll submit a PR without re-triaging, and manually upload affected reports (if I am correct, reports for today and last Tuesday).

natanlao commented 3 years ago

Since the issue lies with uploading the generated report, and not the report generation itself, I've manually uploaded the two missing reports:

natanlao commented 3 years ago

Closing in favor of #2458