Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-3118] Android: 304 status causes timeouts

GitHub Issuen/a
TypeBug
PriorityMedium
StatusClosed
ResolutionFixed
Resolution Date2011-04-17T02:00:58.000+0000
Affected Version/sn/a
Fix Version/sRelease 1.6.0 M10
ComponentsAndroid
Labelsandroid, defect, release-1.6.0, reported-1.6.0, rplist
ReporterRick Blalock
AssigneeDon Thorp
Created2011-04-15T03:37:21.000+0000
Updated2011-04-17T02:00:58.000+0000

Description

Zipcar is reporting an issue where a 304 is returned from their server subsequent requests will timeout. I've tested this and it does happen though not all the time. The customer has supplied a runnable app to test here: http://developer.appcelerator.com/helpdesk/view/65941#c343981">http://developer.appcelerator.com/helpdesk/view/65941#c343981

Attachments

FileDateSize
app.js2011-04-15T03:37:21.000+00002426

Comments

  1. Don Thorp 2011-04-15

    Triage, if too risky we'll have to consider 1.6.1 or 1.7.0.

  2. Opie Cyrus 2011-04-15

    (from [ccc3a3073f757c32053e9dd8eb596b58a30001ca]) [#3144 state:fixed-in-qa] [#3118 state:fixed-in-qa] modify http client to release stale connections

    sometimes http client does not correctly release stale connections when exceptions are thrown or certain responses are received (304) in this case. upon receiving exception, manually release any idle or expired connections. also modified http client to respect unique timeout values per TiHTTPClient instance rather than setting the timeout value on the shared http client instance.
    https://github.com/appcelerator/titanium_mobile/commit/ccc3a3073f757c32053e9dd8eb596b58a30001ca"> https://github.com/appcelerator/titanium_mobile/commit/ccc3a3073f75...

  3. Opie Cyrus 2011-04-15

    (from [b9a4f2cec1823d7d6842baf7f59a1e4cf81458ad]) [#3144 state:fixed-in-qa] [#3118 state:fixed-in-qa] modify http client to release stale connections

    sometimes http client does not correctly release stale connections when exceptions are thrown or certain responses are received (304) in this case. upon receiving exception, manually release any idle or expired connections. also modified http client to respect unique timeout values per TiHTTPClient instance rather than setting the timeout value on the shared http client instance.
    (cherry picked from commit ccc3a3073f757c32053e9dd8eb596b58a30001ca) https://github.com/appcelerator/titanium_mobile/commit/b9a4f2cec1823d7d6842baf7f59a1e4cf81458ad"> https://github.com/appcelerator/titanium_mobile/commit/b9a4f2cec182...

  4. Opie Cyrus 2011-04-15

    Please verify with attached test app which if modified version of the test app provided in HD ticket. Basically, whenever you click the button on the first tab, you should fire off both requests. Even as the 304 response is received, you should not see a timeout on further requests.

  5. Zipcar (Goss) 2011-04-15

    Excellent, I'll also test against our full suite of requests with tomorrow's CI build. Thanks!

  6. Zipcar (Goss) 2011-04-15

    This has addressed the issue for me, thank you!

  7. Thomas Huelbert 2011-04-15

    nexus 2, G1, todays pull and Opies excellent test content

JSON Source