Inconsistent responses about PUT request to update row(s)

Hello Smartsheet Community! I've been getting a lot of issues recently with my PUT requests to update rows. To test it out, this is what I am doing. I created a sheet with 6500 rows and 17 column. I've fiddled with the number a bit and this is a good approximate for what I want to demonstrate. So I've tried to change one cell, for example, the one column (cell) on the first row. This requires me to submit a PUT request.

Here's the issue: About 95% of the time, I would get a response of 500 with this error:

{
    "errorCode": 4002,
    "message": "Server timeout exceeded. Request has failed.",
    "refId": "1otb2603kknsm"
}

However, sometimes, though very rarely, I would get a response of 200 and successfully updating the cell. Same exact PUT request. I'm simply trying to just update one column (one cell).

It starts consistently giving me a 200 response when I decrease my row count to about 4450. Once my sheet is about 4450 rows, I can modify as many rows as I want, whether that's just 1, or all 4450, and I'll get a 200 status.

If someone can help, please do. This is quite frustrating. I know there's a limit on how many cells a sheet can have, but we're way below that, and it probably has nothing to do with this API endpoint. Thank you so much!

Answers

  • I'm struggling with my PUT requests and I'm not sure what I can do about it at this point. For some reason, I cannot create a PUT request to update rows of a sheet that has "too many rows". I put quotes around "too many rows" because I don't know the cut-off point. For example, I am trying to update the rows of a sheet that has 3000+ rows, and it's works fine. However, when I try to update a sheet with 7000+ rows, I get a 500 error and an error code 4002: Server timeout exceeded. Request has failed.

    I understand there might be some limit to how many rows I can update at a time, so I'm trying to break up my PUT requests so that I don't update all 7000 rows at once, but it won't even let me update 1 row at a time. What I mean is that, this error disregards the number of rows I want to update, whether that's 10 rows, or 5000 rows. For example, I can write a PUT request to update 20 rows on the sheet with 7000+ rows, and it will still throw me a 500 error. But I can update all 3000+ rows on the other sheet.

    Thank you very much in advance. Any help is appreciated.

    Note: And just to be clear, when I say I'm updating rows, I am only ever updating one column. So if I say I'm updating 1000 rows, I'm only updating 1000 cells, because they're all in one column.

  • Genevieve P.
    Genevieve P. Employee Admin

    Hi @Patrick Tung

    You are correct that a sheet's row limits are more than 5,000; you can have up to 20,000 rows in a sheet, and a cell limit of 500,000. (See Sheet and Imported File Size Maximums)

    I have to admit that I'm not sure why updating one cell in your sheet of 4500+ rows throws an error. From just these stats here it sounds like the sheet should be able to handle this request. That said, this type of error could also have to do with the sheet complexity, not just cell limits. It may be that the sheet is under stress attempting to calculate multiple formulas, for example.

    If you have many complex formulas on these sheets, I would suggest reducing these or simplifying them and then reattempt the workflow. If this isn't possible, you may need to break up the sheet into logical divisions to reduce the stress. See: Issue:My sheet is slow to load

    Cheers,

    Genevieve