Edit this page | Blame

Add to Collection Error

Tags

  • assigned: fredm, zachs
  • priority: urgent
  • type: bug
  • status: closed, completed
  • keywords: collections

Description

Go to the following correlation results:

  • Click the "More Options" button
  • Filter the 500 entries by r>0, r<1, mean>3 and mean<100.
  • Click the "Select Traits" button to activate your filter. This leaves only 73 entries.
  • Select all of traits except the two in chromosome 16 which means 71 entries were selected.
  • Click "+ Add" button to create new collection
  • A new window opens and the error message "414 Request-URI Too Large" shows up

This issue is also reproducible on https://cd.genenetwork.org

Generating Somewhat Similar Correlation Results

There is a chance the link above might eventually expire. If that happens, you can regenerate the same correlation results with the following results:

  • Go to https://genenetwork.org/show_trait?trait_id=ENSG00000169344&dataset=GTEXv8_Kidn_tpm_0220
  • Open the "Calculate Correlations" accordion
  • Set Method = "sample r"
  • Set Database = "GTEXv8 Human Kidney-Cortex RNA-Seq (Feb20) TPM log2"
  • Set "Limit to" = 500
  • Set Samples = GTEx_v8
  • Set Type = Pearson
  • Set "Location Type" = "Gene"
  • Click "Compute"
  • Continue with the steps in the section above

Troubleshooting Notes

The request uses the "GET" method: see

Some files that are concerned with the issue:

Probable solution: add `method="POST"` to the "<form ...>" line in the "add.html" file, but there is a chance that might break other features that depend on the same form. This will need to be done carefully.

In retrospect, this feature should not use "GET" at all, since it is not indempotent. Every run has the potential to change the state of the underlying collection(s). All features depending on the "add.html" template should use the "POST" method, never "GET".

Fixes

This converts the requests to use the POST method which does not have any data size limits according to the HTTP protocol (in practice, there is probably a limit, but that is a configuration value, and we are unlikely to hit it).

(made with skribilo)