Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTPService is busy #748

Closed
gtaylor44 opened this issue Jul 1, 2019 · 35 comments
Closed

HTTPService is busy #748

gtaylor44 opened this issue Jul 1, 2019 · 35 comments
Labels

Comments

@gtaylor44
Copy link

gtaylor44 commented Jul 1, 2019

Environment

  • Plugin version: 3.0.2
  • Platform: Android
  • OS version: 7.1.1
  • Device manufacturer / model: OPPO CPH1725
  • React Native version (react-native -v): 0.59.4
  • Plugin config
{
  "activityRecognitionInterval": 10000,
  "allowIdenticalLocations": false,
  "autoSync": true,
  "autoSyncThreshold": 0,
  "batchSync": true,
  "debug": false,
  "deferTime": 0,
  "desiredAccuracy": -1,
  "desiredOdometerAccuracy": 100,
  "disableElasticity": false,
  "disableStopDetection": false,
  "distanceFilter": 25,
  "elasticityMultiplier": 1,
  "enableHeadless": false,
  "enableTimestampMeta": false,
  "extras": {
    "tripCode": "TR07971"
  },
  "fastestLocationUpdateInterval": -1,
  "forceReloadOnBoot": false,
  "forceReloadOnGeofence": false,
  "forceReloadOnHeartbeat": false,
  "forceReloadOnLocationChange": false,
  "forceReloadOnMotionChange": false,
  "forceReloadOnSchedule": false,
  "foregroundService": true,
  "geofenceInitialTriggerEntry": true,
  "geofenceModeHighAccuracy": false,
  "geofenceProximityRadius": 1000,
  "geofenceTemplate": "",
  "headers": {
    "Authorization": "Bearer m-VPO6Fv0DJJ4TamZlwanPqFuxZ4q4pq2l6S0KWG0OGYyBuS6MhrRg9uCM4TEYpuq3D4leXLPuQ0Ydab3PAcH01bdh4H9uqA7p5RqIcui025La2QEbGIteakxiK_gJhdPtA7a_IvegzKZzlU5DsCJg2Zh3XALxat9YQh7mR6XBeKt3HpZL86jDisPwm7BBCIbEd0-VXKO-7tKk2LGbizYJNrp-V2Qi9YTGlzElUeHkFNdoN4pHzhac9DKtL_wiZHJH0-K1xLQU54kSYWRcCBcwcPBh0Kn1pH1YxA06QAeDnSLmx_hcbf4yvj_Ww064ztL-lJmAGSWQ1U7i0X-kmqfNoUnXpkbPOHo7tW4NDfy0o"
  },
  "headlessJobService": "com.transistorsoft.rnbackgroundgeolocation.HeadlessTask",
  "heartbeatInterval": 60,
  "httpRootProperty": "location",
  "httpTimeout": 60000,
  "isMoving": true,
  "locationTemplate": "",
  "locationTimeout": 60,
  "locationUpdateInterval": 1000,
  "locationsOrderDirection": "ASC",
  "logLevel": 5,
  "logMaxDays": 3,
  "maxBatchSize": 100,
  "maxDaysToPersist": 1,
  "maxRecordsToPersist": -1,
  "method": "POST",
  "minimumActivityRecognitionConfidence": 75,
  "notificationColor": "",
  "notificationLargeIcon": "",
  "notificationPriority": 0,
  "notificationSmallIcon": "",
  "notificationText": "Location Service activated",
  "notificationTitle": "",
  "params": {},
  "persist": true,
  "persistMode": 2,
  "schedule": [],
  "speedJumpFilter": 300,
  "startOnBoot": false,
  "stationaryRadius": 25,
  "stopAfterElapsedMinutes": 0,
  "stopOnStationary": false,
  "stopOnTerminate": false,
  "stopTimeout": 5,
  "triggerActivities": "in_vehicle, on_bicycle, on_foot, running, walking",
  "url": "https:\/\/<**HIDDEN FOR SECURITY PURPOSES**>:2222\/api\/trips\/bulkUpdatePosition",
  "useSignificantChangesOnly": false,
  "enabled": true,
  "schedulerEnabled": false,
  "trackingMode": 1,
  "odometer": 29616.013671875,
  "isFirstBoot": false
}

Expected Behavior

GPS points should be synced with our configured URL.

Actual Behavior

We should not be seeing 'HTTPService is busy' message. Currently, device gets into a state where device essentially becomes blocked and points no longer get synced and remain in device's local database.

Steps to Reproduce

Intermittent. Some devices are tracked without any issues while others get stuck in this state.

Context

We currently have an app for truck drivers. Our app has been designed to work offline. We use Realm to store data offline and on every major action (e.g. viewing trips or stops) we ensure that offline data and source of truth (server database) are in sync. One of the methods that conditionally gets called on every major action is BackgroundGeolocation.sync();

I understand that we don't technically need to call BackgroundGeolocation.sync() manually because the library takes care of this automatically. However, we have a diagnostics screen which shows how many GPS points are stored in local db (awaiting sync) and there is a button to manually attempt to sync positions. This requirement came from management.

Note... We also listening on connection changes via the NetInfo library. When connectivity is detected, this is another place we attempt to manually call BackgroundGeolocation.sync()

        const gpsPositionsToSyncCount = await BackgroundGeolocation.getCount();

        if (gpsPositionsToSyncCount > 0 && store.getState().device.deviceInfo.isConnected) {     
            try {
                await log(`realmUtility.forceSync() - Attempting to sync ${gpsPositionsToSyncCount} positions`, logLevel.info);
                await BackgroundGeolocation.sync();

            }
            catch(e) {
                log(`realmUtility.forceSync() - An error occurred while syncing GPS points ${e}`, logLevel.error);
            }
        }

Debug logs

Logs
╔═════════════════════════════════════════════
║ SingleLocationRequest: 9
╠═════════════════════════════════════════════
╟─ 📍  Location[fused -27.453507,153.031697 acc=3 et=+5h18m41s218ms alt=26.5 vel=0.0 bear=86.0 {Bundle[{requestId=9, verticalAccuracy=7.8}]}], age: 4ms, time: 1561937129000

07-01 09:25:33.637 INFO [BackgroundGeolocation$j run] 
  🔵  HTTPService is busy with an existing request.
07-01 09:25:58.140 DEBUG [b a] 
  ℹ️  LocationAuthorization: Permission granted
07-01 09:25:58.497 INFO [BackgroundGeolocation$j run] 
  🔵  HTTPService is busy with an existing request.
07-01 09:25:58.608 INFO [TSLocationManager onSingleLocationResult] 
  🔵  Acquired current position
07-01 09:25:58.620 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:25:58.630 DEBUG [TSLocationManager incrementOdometer] Odometer: 29147.297
07-01 09:25:58.646 DEBUG [SingleLocationRequest$2 onLocationResult] 
╔═════════════════════════════════════════════
║ SingleLocationRequest: 10
╠═════════════════════════════════════════════
╟─ 📍  Location[fused -27.453629,153.031735 acc=3 et=+5h19m11s234ms alt=24.7 vel=0.0 bear=274.0 {Bundle[{requestId=10, verticalAccuracy=7.8}]}], age: 8ms, time: 1561937159000

07-01 09:26:09.634 DEBUG [b a] 
  ℹ️  LocationAuthorization: Permission granted
07-01 09:26:09.816 INFO [BackgroundGeolocation$j run] 
  🔵  HTTPService is busy with an existing request.
07-01 09:26:10.595 INFO [TSLocationManager onSingleLocationResult] 
  🔵  Acquired current position
07-01 09:26:10.605 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:26:10.619 DEBUG [TSLocationManager incrementOdometer] Odometer: 29153.299
07-01 09:26:10.653 DEBUG [SingleLocationRequest$2 onLocationResult] 
╔═════════════════════════════════════════════
║ SingleLocationRequest: 11
╠═════════════════════════════════════════════
╟─ 📍  Location[fused -27.453681,153.031720 acc=3 et=+5h19m23s223ms alt=23.9 vel=0.0 bear=338.0 {Bundle[{requestId=11, verticalAccuracy=7.8}]}], age: 8ms, time: 1561937171000

07-01 09:26:17.891 INFO [BackgroundGeolocation$j run] 
  🔵  HTTPService is busy with an existing request.
07-01 09:26:37.723 DEBUG [b a] 
  ℹ️  LocationAuthorization: Permission granted
07-01 09:26:38.112 INFO [BackgroundGeolocation$j run] 
  🔵  HTTPService is busy with an existing request.
07-01 09:26:38.596 INFO [TSLocationManager onSingleLocationResult] 
  🔵  Acquired current position
07-01 09:26:38.608 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:26:38.616 DEBUG [TSLocationManager incrementOdometer] Odometer: 29159.803
07-01 09:26:38.629 DEBUG [SingleLocationRequest$2 onLocationResult] 
@christocracy
Copy link
Member

Post a more complete set of logs. You’ve posted only a few seconds of cherry picked logs.

@gtaylor44
Copy link
Author

Is this enough?

07-01 09:23:16.852 DEBUG [TSLocationManager onLocationResult]
ℹ️ IGNORED: same as last location
07-01 09:23:23.628 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.449145,153.029025 acc=4 et=+5h16m36s233ms alt=26.4 vel=12.8387165 bear=193.0 {Bundle[mParcelledData.dataSize=52]}], age: 30ms, time: 1561937004000

07-01 09:23:23.645 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:23:23.658 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 102.82985, apparent speed: 14.689979
07-01 09:23:23.668 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:23:23.680 DEBUG [TSLocationManager incrementOdometer] Odometer: 28363.348
07-01 09:23:23.705 INFO [TSLocationManager onLocationResult]
🔵 Re-scaled distanceFilter: 75.0->100.0)
07-01 09:23:23.720 INFO [c persist]
✅ INSERT: 335be051-3266-44e3-a857-a9f73acffa45
07-01 09:23:23.738 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:23:23.799 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.449145,153.029025 acc=4 et=+5h16m36s233ms alt=26.4 vel=12.8387165 bear=193.0 {Bundle[mParcelledData.dataSize=52]}], age: 203ms, time: 1561937004000

07-01 09:23:23.811 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:23:23.827 DEBUG [TSLocationManager onLocationResult]
ℹ️ IGNORED: same as last location
07-01 09:23:30.626 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.450097,153.028950 acc=4 et=+5h16m43s233ms alt=25.3 vel=14.48068 bear=190.0 {Bundle[mParcelledData.dataSize=52]}], age: 28ms, time: 1561937011000

07-01 09:23:30.639 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:23:30.651 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 105.71879, apparent speed: 15.102684
07-01 09:23:30.663 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:23:30.677 DEBUG [TSLocationManager incrementOdometer] Odometer: 28469.066
07-01 09:23:30.710 INFO [c persist]
✅ INSERT: e3ed16b2-90d6-4720-bf23-8d1994790af4
07-01 09:23:30.732 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:23:38.631 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.451093,153.028808 acc=4 et=+5h16m51s241ms alt=29.0 vel=14.459062 bear=181.0 {Bundle[mParcelledData.dataSize=52]}], age: 26ms, time: 1561937019000

07-01 09:23:38.647 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:23:38.659 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 111.31876, apparent speed: 13.914845
07-01 09:23:38.670 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:23:38.682 DEBUG [TSLocationManager incrementOdometer] Odometer: 28580.385
07-01 09:23:38.710 INFO [c persist]
✅ INSERT: 615e6e41-7147-4d90-a622-20799d75606b
07-01 09:23:38.723 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:23:45.633 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452063,153.028992 acc=4 et=+5h16m58s241ms alt=27.1 vel=15.010844 bear=165.0 {Bundle[mParcelledData.dataSize=52]}], age: 27ms, time: 1561937026000

07-01 09:23:45.647 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:23:45.663 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 109.004654, apparent speed: 15.572093
07-01 09:23:45.675 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:23:45.690 DEBUG [TSLocationManager incrementOdometer] Odometer: 28689.389
07-01 09:23:45.723 INFO [c persist]
✅ INSERT: dfaf160a-7b66-49a3-acea-e08d038b8045
07-01 09:23:45.741 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:23:54.184 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453055,153.029263 acc=4 et=+5h17m6s232ms alt=28.7 vel=13.57374 bear=166.0 {Bundle[mParcelledData.dataSize=52]}], age: 590ms, time: 1561937034000

07-01 09:23:54.197 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:23:54.210 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 113.123314, apparent speed: 16.160473
07-01 09:23:54.219 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:23:54.229 DEBUG [TSLocationManager incrementOdometer] Odometer: 28802.512
07-01 09:23:54.257 INFO [c persist]
✅ INSERT: 1bd94370-640d-4e4c-b0c7-a5fc40991c34
07-01 09:23:54.273 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:24:02.635 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453953,153.029532 acc=4 et=+5h17m15s240ms alt=27.3 vel=8.556228 bear=161.0 {Bundle[mParcelledData.dataSize=52]}], age: 31ms, time: 1561937043000

07-01 09:24:02.651 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:24:02.662 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 103.01662, apparent speed: 11.446291
07-01 09:24:02.672 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:24:02.685 DEBUG [TSLocationManager incrementOdometer] Odometer: 28905.53
07-01 09:24:02.714 INFO [TSLocationManager onLocationResult]
🔵 Re-scaled distanceFilter: 100.0->75.0)
07-01 09:24:02.738 INFO [c persist]
✅ INSERT: 64410a5c-5e29-45c3-b47d-6df163fd3dd1
07-01 09:24:02.760 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:24:02.828 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453953,153.029532 acc=4 et=+5h17m15s240ms alt=27.3 vel=8.556228 bear=161.0 {Bundle[mParcelledData.dataSize=52]}], age: 224ms, time: 1561937043000

07-01 09:24:02.844 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:24:02.855 DEBUG [TSLocationManager onLocationResult]
ℹ️ IGNORED: same as last location
07-01 09:24:13.624 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.454022,153.030307 acc=4 et=+5h17m26s233ms alt=27.6 vel=7.355895 bear=119.0 {Bundle[mParcelledData.dataSize=52]}], age: 27ms, time: 1561937054000

07-01 09:24:13.640 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:24:13.655 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 76.985245, apparent speed: 7.6985245
07-01 09:24:13.669 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:24:13.681 DEBUG [TSLocationManager incrementOdometer] Odometer: 28982.514
07-01 09:24:13.708 INFO [TSLocationManager onLocationResult]
🔵 Re-scaled distanceFilter: 75.0->50.0)
07-01 09:24:13.736 INFO [c persist]
✅ INSERT: fd2b2d1c-c55b-4dbf-af34-7a6dda5de8fc
07-01 09:24:13.778 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:24:13.829 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.454022,153.030307 acc=4 et=+5h17m26s233ms alt=27.6 vel=7.355895 bear=119.0 {Bundle[mParcelledData.dataSize=52]}], age: 233ms, time: 1561937054000

07-01 09:24:13.844 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:24:13.854 DEBUG [TSLocationManager onLocationResult]
ℹ️ IGNORED: same as last location
07-01 09:24:19.623 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453742,153.030837 acc=5 et=+5h17m32s232ms alt=27.7 vel=10.160102 bear=84.0 {Bundle[mParcelledData.dataSize=52]}], age: 27ms, time: 1561937060000

07-01 09:24:19.644 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:24:19.659 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 60.890244, apparent speed: 12.178049
07-01 09:24:19.671 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:24:19.682 DEBUG [TSLocationManager incrementOdometer] Odometer: 29043.404
07-01 09:24:19.706 INFO [TSLocationManager onLocationResult]
🔵 Re-scaled distanceFilter: 50.0->75.0)
07-01 09:24:19.724 INFO [c persist]
✅ INSERT: 72b6e61a-f5e6-45e8-8fa1-5681213dd451
07-01 09:24:19.768 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:24:19.806 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453742,153.030837 acc=5 et=+5h17m32s232ms alt=27.7 vel=10.160102 bear=84.0 {Bundle[mParcelledData.dataSize=52]}], age: 210ms, time: 1561937060000

07-01 09:24:19.822 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:24:19.834 DEBUG [TSLocationManager onLocationResult]
ℹ️ IGNORED: same as last location
07-01 09:24:27.630 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453582,153.031585 acc=4 et=+5h17m40s235ms alt=27.7 vel=8.516079 bear=29.0 {Bundle[mParcelledData.dataSize=52]}], age: 31ms, time: 1561937068000

07-01 09:24:27.644 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:24:27.657 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 76.06713, apparent speed: 9.508391
07-01 09:24:27.668 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:24:27.681 DEBUG [TSLocationManager incrementOdometer] Odometer: 29119.47
07-01 09:24:27.713 INFO [c persist]
✅ INSERT: bde8437d-30bd-4139-9cae-ea2c3072c46a
07-01 09:24:27.730 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:25:28.072 DEBUG [b a]
ℹ️ LocationAuthorization: Permission granted
07-01 09:25:28.246 INFO [BackgroundGeolocation$j run]
🔵 HTTPService is busy with an existing request.
07-01 09:25:28.587 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired current position
07-01 09:25:28.595 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:25:28.604 DEBUG [TSLocationManager incrementOdometer] Odometer: 29133.318
07-01 09:25:28.617 DEBUG [SingleLocationRequest$2 onLocationResult]
╔═════════════════════════════════════════════
║ SingleLocationRequest: 9
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453507,153.031697 acc=3 et=+5h18m41s218ms alt=26.5 vel=0.0 bear=86.0 {Bundle[{requestId=9, verticalAccuracy=7.8}]}], age: 4ms, time: 1561937129000

07-01 09:25:33.637 INFO [BackgroundGeolocation$j run]
🔵 HTTPService is busy with an existing request.
07-01 09:25:58.140 DEBUG [b a]
ℹ️ LocationAuthorization: Permission granted
07-01 09:25:58.497 INFO [BackgroundGeolocation$j run]
🔵 HTTPService is busy with an existing request.
07-01 09:25:58.608 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired current position
07-01 09:25:58.620 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:25:58.630 DEBUG [TSLocationManager incrementOdometer] Odometer: 29147.297
07-01 09:25:58.646 DEBUG [SingleLocationRequest$2 onLocationResult]
╔═════════════════════════════════════════════
║ SingleLocationRequest: 10
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453629,153.031735 acc=3 et=+5h19m11s234ms alt=24.7 vel=0.0 bear=274.0 {Bundle[{requestId=10, verticalAccuracy=7.8}]}], age: 8ms, time: 1561937159000

07-01 09:26:09.634 DEBUG [b a]
ℹ️ LocationAuthorization: Permission granted
07-01 09:26:09.816 INFO [BackgroundGeolocation$j run]
🔵 HTTPService is busy with an existing request.
07-01 09:26:10.595 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired current position
07-01 09:26:10.605 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:26:10.619 DEBUG [TSLocationManager incrementOdometer] Odometer: 29153.299
07-01 09:26:10.653 DEBUG [SingleLocationRequest$2 onLocationResult]
╔═════════════════════════════════════════════
║ SingleLocationRequest: 11
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453681,153.031720 acc=3 et=+5h19m23s223ms alt=23.9 vel=0.0 bear=338.0 {Bundle[{requestId=11, verticalAccuracy=7.8}]}], age: 8ms, time: 1561937171000

07-01 09:26:17.891 INFO [BackgroundGeolocation$j run]
🔵 HTTPService is busy with an existing request.
07-01 09:26:37.723 DEBUG [b a]
ℹ️ LocationAuthorization: Permission granted
07-01 09:26:38.112 INFO [BackgroundGeolocation$j run]
🔵 HTTPService is busy with an existing request.
07-01 09:26:38.596 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired current position
07-01 09:26:38.608 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:26:38.616 DEBUG [TSLocationManager incrementOdometer] Odometer: 29159.803
07-01 09:26:38.629 DEBUG [SingleLocationRequest$2 onLocationResult]
╔═════════════════════════════════════════════
║ SingleLocationRequest: 12
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453717,153.031668 acc=3 et=+5h19m51s221ms alt=23.4 vel=0.0 bear=9.0 {Bundle[{requestId=12, verticalAccuracy=7.8}]}], age: 9ms, time: 1561937199000

07-01 09:26:44.498 DEBUG [b a]
ℹ️ LocationAuthorization: Permission granted
07-01 09:26:44.604 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired current position
07-01 09:26:44.617 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.0
07-01 09:26:44.627 DEBUG [TSLocationManager incrementOdometer] Odometer: 29164.219
07-01 09:26:44.648 DEBUG [SingleLocationRequest$2 onLocationResult]
╔═════════════════════════════════════════════
║ SingleLocationRequest: 13
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453678,153.031658 acc=3 et=+5h19m57s230ms alt=23.4 vel=0.0 bear=9.0 {Bundle[{requestId=13, verticalAccuracy=7.8}]}], age: 8ms, time: 1561937205000

07-01 09:26:44.668 INFO [BackgroundGeolocation$j run]
🔵 HTTPService is busy with an existing request.
07-01 09:33:31.593 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453170,153.032228 acc=4 et=+5h26m44s219ms alt=22.5 vel=8.7574835 bear=45.0 {Bundle[mParcelledData.dataSize=52]}], age: 11ms, time: 1561937612000

07-01 09:33:31.600 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:33:31.607 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 79.624756, apparent speed: 0.19612008
07-01 09:33:31.613 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.0
07-01 09:33:31.620 DEBUG [TSLocationManager incrementOdometer] Odometer: 29243.844
07-01 09:33:31.635 INFO [c persist]
✅ INSERT: 63107625-00da-418f-bc28-68647e444f65
07-01 09:33:31.646 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:33:47.639 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452652,153.032830 acc=4 et=+5h27m0s240ms alt=21.6 vel=8.0955515 bear=47.0 {Bundle[mParcelledData.dataSize=52]}], age: 25ms, time: 1561937628000

07-01 09:33:47.713 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:33:47.727 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 82.68316, apparent speed: 5.1676974
07-01 09:33:47.740 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.0
07-01 09:33:47.755 DEBUG [TSLocationManager incrementOdometer] Odometer: 29326.527
07-01 09:33:47.789 INFO [c persist]
✅ INSERT: d8a76130-23a9-46bd-9c34-df97a3c11563
07-01 09:33:47.808 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:34:30.907 INFO [BackgroundGeolocation$j run]
🔵 HTTPService is busy with an existing request.
07-01 09:34:39.891 DEBUG [b a]
ℹ️ LocationAuthorization: Permission granted
07-01 09:34:40.216 INFO [BackgroundGeolocation$j run]
🔵 HTTPService is busy with an existing request.
07-01 09:34:40.615 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired current position
07-01 09:34:40.626 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.0
07-01 09:34:40.638 DEBUG [TSLocationManager incrementOdometer] Odometer: 29370.719
07-01 09:34:40.660 DEBUG [SingleLocationRequest$2 onLocationResult]
╔═════════════════════════════════════════════
║ SingleLocationRequest: 14
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452519,153.033252 acc=3 et=+5h27m53s239ms alt=21.9 vel=0.4822947 bear=351.0 {Bundle[{requestId=14, verticalAccuracy=7.8}]}], age: 8ms, time: 1561937681000

07-01 09:34:47.922 DEBUG [b a]
ℹ️ LocationAuthorization: Permission granted
07-01 09:34:48.050 INFO [BackgroundGeolocation$j run]
🔵 HTTPService is busy with an existing request.
07-01 09:34:48.605 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired current position
07-01 09:34:48.616 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.0
07-01 09:34:48.633 DEBUG [SingleLocationRequest$2 onLocationResult]
╔═════════════════════════════════════════════
║ SingleLocationRequest: 15
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452511,153.033235 acc=3 et=+5h28m1s224ms alt=21.6 vel=0.25066972 bear=38.0 {Bundle[{requestId=15, verticalAccuracy=7.8}]}], age: 15ms, time: 1561937689000

07-01 09:34:51.068 DEBUG [b a]
ℹ️ LocationAuthorization: Permission granted
07-01 09:34:51.238 INFO [BackgroundGeolocation$j run]
🔵 HTTPService is busy with an existing request.
07-01 09:34:51.624 INFO [TSLocationManager onSingleLocationResult]
🔵 Acquired current position
07-01 09:34:51.638 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.0
07-01 09:34:51.664 DEBUG [SingleLocationRequest$2 onLocationResult]
╔═════════════════════════════════════════════
║ SingleLocationRequest: 16
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452504,153.033235 acc=3 et=+5h28m4s240ms alt=21.6 vel=0.0 bear=198.0 {Bundle[{requestId=16, verticalAccuracy=7.8}]}], age: 15ms, time: 1561937692000

07-01 09:44:56.727 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452217,153.033435 acc=4 et=+5h38m9s334ms alt=28.5 vel=0.9568686 bear=149.0 {Bundle[mParcelledData.dataSize=52]}], age: 28ms, time: 1561938297000

07-01 09:44:56.747 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:44:56.759 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 37.408615, apparent speed: 0.06183242
07-01 09:44:56.769 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:44:56.780 DEBUG [TSLocationManager incrementOdometer] Odometer: 29408.74
07-01 09:44:56.808 INFO [TSLocationManager onLocationResult]
🔵 Re-scaled distanceFilter: 75.0->25.0)
07-01 09:44:56.828 INFO [c persist]
✅ INSERT: 3b655490-304f-46a2-bba3-cf494465b0a5
07-01 09:44:56.859 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:44:56.943 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452217,153.033435 acc=4 et=+5h38m9s334ms alt=28.5 vel=0.9568686 bear=149.0 {Bundle[mParcelledData.dataSize=52]}], age: 245ms, time: 1561938297000

07-01 09:44:56.957 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:44:56.974 DEBUG [TSLocationManager onLocationResult]
ℹ️ IGNORED: same as last location
07-01 09:45:00.402 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452400,153.033589 acc=5 et=+5h38m13s0ms alt=28.6 vel=0.6047986 bear=253.0 {Bundle[mParcelledData.dataSize=52]}], age: 36ms, time: 1561938300000

07-01 09:45:00.433 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:45:00.462 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 25.30101, apparent speed: 8.43367
07-01 09:45:00.481 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.9
07-01 09:45:00.494 DEBUG [TSLocationManager incrementOdometer] Odometer: 29434.041
07-01 09:45:00.520 INFO [c persist]
✅ INSERT: 060a48c9-366c-4d45-a111-c87d89f0a826
07-01 09:45:00.534 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:45:05.882 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452809,153.033927 acc=4 et=+5h38m18s460ms alt=-101.8 vel=0.1991975 {Bundle[mParcelledData.dataSize=52]}], age: 58ms, time: 1561938306000

07-01 09:45:05.914 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:45:05.932 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 56.312702, apparent speed: 11.262541
07-01 09:45:05.953 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.25
07-01 09:45:05.967 DEBUG [TSLocationManager incrementOdometer] Odometer: 29490.354
07-01 09:45:05.993 INFO [c persist]
✅ INSERT: de06ba5d-b6e8-473b-824a-3935076c52ec
07-01 09:45:06.011 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:45:08.420 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.453007,153.034150 acc=3 et=+5h38m21s25ms alt=-101.2 vel=0.05353111 {Bundle[mParcelledData.dataSize=52]}], age: 31ms, time: 1561938309000

07-01 09:45:08.445 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:45:08.456 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 31.11081, apparent speed: 15.555405
07-01 09:45:08.473 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.0
07-01 09:45:08.485 DEBUG [TSLocationManager incrementOdometer] Odometer: 29521.465
07-01 09:45:08.517 INFO [c persist]
✅ INSERT: 59290934-31bb-4971-8485-252d7cde57c6
07-01 09:45:08.533 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:45:16.041 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452670,153.033990 acc=5 et=+5h38m28s607ms alt=-37.9 vel=1.195185 bear=110.0 {Bundle[mParcelledData.dataSize=52]}], age: 71ms, time: 1561938316000

07-01 09:45:16.061 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:45:16.073 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 40.5026, apparent speed: 5.786086
07-01 09:45:16.082 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.0
07-01 09:45:16.097 DEBUG [TSLocationManager incrementOdometer] Odometer: 29561.967
07-01 09:45:16.151 INFO [c persist]
✅ INSERT: 5f8a3277-a9c5-44b2-aa38-523e8d677a19
07-01 09:45:16.167 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:45:20.621 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452450,153.033916 acc=3 et=+5h38m33s228ms alt=-41.1 vel=0.2362575 bear=109.0 {Bundle[mParcelledData.dataSize=52]}], age: 27ms, time: 1561938321000

07-01 09:45:20.650 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:45:20.670 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 25.50815, apparent speed: 6.3770375
07-01 09:45:20.689 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.016
07-01 09:45:20.701 DEBUG [TSLocationManager incrementOdometer] Odometer: 29587.475
07-01 09:45:20.732 INFO [c persist]
✅ INSERT: b88a48a5-0b6e-47c4-80a9-39e2bae791d5
07-01 09:45:20.755 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 09:45:59.125 DEBUG [TrackingService a]
╔═════════════════════════════════════════════
║ TrackingService: LocationResult
╠═════════════════════════════════════════════
╟─ 📍 Location[fused -27.452438,153.033627 acc=5 et=+5h39m11s689ms alt=-34.2 vel=0.9568686 bear=62.0 {Bundle[mParcelledData.dataSize=52]}], age: 67ms, time: 1561938359000

07-01 09:45:59.142 DEBUG [TSLocationManager onLocationResult]
╔═════════════════════════════════════════════
║ Process LocationResult
╠═════════════════════════════════════════════

07-01 09:45:59.158 DEBUG [TSLocationManager locationIsInvalid] Distance from last location: 28.538124, apparent speed: 0.75100327
07-01 09:45:59.167 DEBUG [TSLocationManager calculateMedianAccuracy] Median accuracy: 3.0
07-01 09:45:59.177 DEBUG [TSLocationManager incrementOdometer] Odometer: 29616.014
07-01 09:45:59.209 INFO [c persist]
✅ INSERT: d975a7f9-a658-4e63-bc42-cba2d43bc801
07-01 09:45:59.227 INFO [HttpService flush]
ℹ️ HttpService is busy
07-01 10:14:00.523 INFO [TSConfig print]

@gtaylor44
Copy link
Author

@gtaylor44
Copy link
Author

See attached file for 19,060 lines of logs. Min log level = trace.

@christocracy
Copy link
Member

Show me more context of your code. I want to see under what conditions you're executing this:

const gpsPositionsToSyncCount = await BackgroundGeolocation.getCount();

        if (gpsPositionsToSyncCount > 0 && store.getState().device.deviceInfo.isConnected) {     
            try {
                await log(`realmUtility.forceSync() - Attempting to sync ${gpsPositionsToSyncCount} positions`, logLevel.info);
                await BackgroundGeolocation.sync();

            }
            catch(e) {
                log(`realmUtility.forceSync() - An error occurred while syncing GPS points ${e}`, logLevel.error);
            }
        }

@gtaylor44
Copy link
Author

So i've removed this block to see if manual syncing was causing blocking issues. This hasn't seemed to have helped and we still have positions stuck.

Can you confirm 'HttpService is busy' has nothing to do with our server and an HTTP request is never made?

What options do we have here? Should we set autoSync to false and handle HTTP requests ourselves via headless tasks and foreground listeners? Are there any drawbacks from doing this?

@wesleycoder
Copy link

@christocracy
I'm facing the same issue here.
How could I be of help?
I could try to isolate some context on my side and show configs and logs.
Let me know what kind of information would be helpful.

Tomorrow I'll be collecting some logs and preparing a set of code to post here.

@wesleycoder
Copy link

And my context of reproduction is when my users disable and re-enable their 3g connections.
Then I start to get the HTTPService is busy with an existing request. logs.

@christocracy
Copy link
Member

It’s not unusual to see this message. The plugin performs http requests synchronously, selecting records from its database 1-by-1 until the database is empty. If the http-service is already operating, you’ll see “Http service is busy”. If the server isn’t responding, it’s going to timeout after 60s and set a flag isBusy = false.

@wesleycoder
Copy link

wesleycoder commented Aug 23, 2019

Ok, so then my case may be different and I'm not going in the right direction.
My issue scenario is:

  • User starts my app that trigger Geolocation.start()
  • User starts moving
  • User closes the app
  • User disables mobile connection
  • User enables mobile connection
  • User opens the app again
  • App freezes all Http requests (made from my react-native code)
  • My logs shows BackgroundGeolocation trying to make auto-sync operations and getting:
[c.t.l.http.HttpService flush] 
  ℹ️  HttpService is busy
[c.t.l.http.HttpService$b onFailure] 
  ⚠️  Response: 0, timeout
[c.t.l.data.sqlite.b unlock] 
  ✅  UNLOCKED (13)
  • This log does not occur after the mentioned 60s but instantly after opening the app
  • After user stops moving the service goes with successful auto-sync operations and unfreezes the requests made by the app
  • If the user keeps moving the http requests stays frozen

The requests I'm making within my code are using the apollo-client. Maybe there is some issue on their side that complicates this.

Also I'm using 2 other libs that may implicate on the Http service being stuck: sentry and amplitude

Would you think this is another issue that is not related with the Http busy message?
I will be happy in putting more effort investigating and digging information.

@christocracy
Copy link
Member

The plugin’s iOS http service is written in pure Obj-c, it isn’t affect by other plugins.

Your server isn’t answering the bell.

Response: 0, timeout

@wesleycoder
Copy link

I'm not shipping to iOS, I build only for android 6+
The server is listening and it receives the requests made before disabling the mobile data end after the user stops moving.

@christocracy
Copy link
Member

My mistake. Let me change channel :)

The plugin’s Android http service is written in pure Java, it isn’t affect by other plugins.

Your server isn’t answering the bell (or outbound http request isn’t possible)

Response: 0, timeout

@christocracy
Copy link
Member

I would try observing the unfiltered adb logcat for clues, if you can reproduce this At your desk.

@wesleycoder
Copy link

Sure I'll be collecting logs and analysing this tomorrow, I'll also try to isolate the issue even more by disabling some dependencies.

@christocracy
Copy link
Member

Why not try reproducing in the sample app? It’s linked in the README. Clone and build it to your device.

@wesleycoder
Copy link

Good advice, I'll try that for sure

@heltonandreazza
Copy link

heltonandreazza commented Aug 23, 2019

Hey guys, since this lib and react-native use okhttp I believe this might be the issue square/okhttp#3278 which leads to square/okhttp#3378
The description is pretty close to what's happening to me.
@christocracy do you know whether or not this issue could be a possibility?

OBS: it only happens with emulators

@christocracy
Copy link
Member

Thanks @heltonandreazza. That sure sounds like what @wesleycoder is talking about.

@christocracy
Copy link
Member

@heltonandreazza keep in mind, the plugin defaults to 3.12.1 (configurable in your gradle ext config via okHttpVersion), while your linked okhttp issues date back to 2017, long before 3.12.1

@christocracy
Copy link
Member

christocracy commented Aug 23, 2019

@heltonandreazza, @wesleycoder I built the SampleApp successfully with okhttp:4.1.0, so you can always try that.

📂 android/build.gradle

buildscript {
    ext {	
+       okHttpVersion = "4.1.0"        
        .
        .
        .
    }
}

@mikehardy
Copy link
Contributor

Careful with that, react-native android supports down to minSdkVersion 16 as does this plugin: https://github.com/transistorsoft/react-native-background-geolocation/blob/master/android/build.gradle#L22

But if you move higher than the 3.12.x support branch of OkHttp you must move your minSdkVersion to 21: https://cashapp.github.io/2019-02-05/okhttp-3-13-requires-android-5

Appears to be about 10% (and falling of course) of marketshare on Android at this point

@heltonandreazza
Copy link

@christocracy thanks for the reply,
I've tried changing to okHttpVersion 4.1.0, it still wasn't working, so I came to this conclusion square/okhttp#3278 (comment)
I'm not a java developer so not sure what else to do.

@christocracy
Copy link
Member

@heltonandreazza I can make a test-build for you configured like so, if you wish:

new OkHttpClient.Builder()
.protocols(Arrays.asList(Protocol.HTTP_1_1))
.build();

I'll publish it to a branch for you to try.

@christocracy
Copy link
Member

@heltonandreazza Here you go: branch okhttp-Protocol.HTTP_1_1

yarn add https://github.com/transistorsoft/react-native-background-geolocation-android.git#okhttp-Protocol.HTTP_1_1

@heltonandreazza
Copy link

@christocracy I think the link is private, I'm receiving 404

@christocracy
Copy link
Member

Right, I thought you were a customer. I published it the private repo. Pushed to this public repo:

yarn add https://github.com/transistorsoft/react-native-background-geolocation.git#okhttp-Protocol.HTTP_1_1

@heltonandreazza
Copy link

Yep, as I expected it didn't work.

I'll be watching okhttp's devs feedback

thanks !!

@heltonandreazza
Copy link

here is a sample with the issue just in case someone needs to do some testes https://github.com/heltonandreazza/geolocation-sample

@stale
Copy link

stale bot commented Oct 26, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. You may also mark this issue as a "discussion" and I will leave this open.

@stale stale bot added the stale label Oct 26, 2019
@stale
Copy link

stale bot commented Nov 2, 2019

Closing this issue after a prolonged period of inactivity. Fell free to reopen this issue, if this still affecting you.

@stale stale bot closed this as completed Nov 2, 2019
@adn9990
Copy link

adn9990 commented Apr 15, 2023

Hi, I am fencing the same issue of HttpService is busy.
Can you please tell me how can we solve it

@christocracy
Copy link
Member

am fencing the same issue of HttpService is busy.

That’s not an issue that needs solving. That’s a normal and expected thing to see.

@adn9990
Copy link

adn9990 commented Apr 15, 2023

Ohk, But you can tell me why this is coming in log, even server and services working fine and how can i fix this

@christocracy
Copy link
Member

and how can i fix this

As I said above: "that’s not an issue that needs solving. That’s a normal and expected thing to see".

The plugin's HTTP service uploads records synchronously. The message simply means the HTTP service is already in the process of uploading and doesn't need to be interrupted. There is nothing unusual about that message the needs to be "fixed". You are mistaken in thinking it's abnormal -- it's NOT abnormal and does not need "fixing".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants