maplibre / maplibre-native

MapLibre Native - Interactive vector tile maps for iOS, Android and other platforms.
https://maplibre.org
BSD 2-Clause "Simplified" License
888 stars 273 forks source link

Android Offline errors in v11 #2566

Open zokipirlo opened 6 days ago

zokipirlo commented 6 days ago

Describe the bug When migrated to v11 from v10 I'm getting errors when downloading OfflineRegion. Impossible to download any region without errors. After some time will start getting errors in OfflineRegionObserver

OfflineRegionError{reason='REASON_OTHER', message='Canceled'} 
OfflineRegionError{reason='REASON_CONNECTION', message='Socket is closed'}

Expected behavior Download all parts without any error like in v10.

Platform information (please complete the following information):

Additional context No idea how to resolve that. It's very hard to do back and forth test between v10 and v11 because of many import and class name changes.

louwers commented 6 days ago

Sorry to hear! We didn't make any changes to the offline functionality as far as I am aware, but OkHttp got updated.

Can you make sure it's not related to your tile server? For example, the User-Agent changed. Is it refusing to serve out tiles to the new User-Agent?

Any change you can try to repro the problem with the demo app and a debugger attached?

As is, there's not much to go on.

zokipirlo commented 6 days ago

Sorry to hear! We didn't make any changes to the offline functionality as far as I am aware, but OkHttp got updated.

I hoped there were some changes that could be related to :)

Can you make sure it's not related to your tile server? For example, the User-Agent changed. Is it refusing to serve out tiles to the new User-Agent?

No, it's the same server. Have custom HttpRequestImpl implementation based on Maplibre implementation where overriding OkHttpClient with instance from project, so it uses the same interceptors and headers. I'm using Okhttp v5 if that matters.

Any change you can try to repro the problem with the demo app and a debugger attached?

Thinking how to do that.

As is, there's not much to go on.

Yes, I'm aware of that. Can't find anything what could be different. Will try to get some useful logs and updated that ticket with progress.

zokipirlo commented 6 days ago

Here are part of log when requests are getting canceled. On the other branch where have implementation with Maplibre 10.2.0.1 this never happens.

14:34:15.782 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/9/278/183.pbf.pict
14:34:15.782 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.782 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.782 okhttp.OkHttpClient      I  --> END GET
14:34:15.789 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/10/558/365.pbf.pict
14:34:15.789 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.789 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.789 okhttp.OkHttpClient      I  --> END GET
14:34:15.793 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/10/558/366.pbf.pict
14:34:15.793 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.793 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.794 okhttp.OkHttpClient      I  --> END GET
14:34:15.797 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1114/731.pbf.pict
14:34:15.798 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.798 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.798 okhttp.OkHttpClient      I  --> END GET
14:34:15.803 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1115/731.pbf.pict
14:34:15.804 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.804 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.804 okhttp.OkHttpClient      I  --> END GET
14:34:15.808 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1116/731.pbf.pict
14:34:15.809 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.809 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.809 okhttp.OkHttpClient      I  --> END GET
14:34:15.814 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1114/732.pbf.pict
14:34:15.814 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.814 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.814 okhttp.OkHttpClient      I  --> END GET
14:34:15.816 TrafficStats             D  tagSocket(6) with statsTag=0xffffffff, statsUid=-1
14:34:15.817 TrafficStats             D  tagSocket(168) with statsTag=0xffffffff, statsUid=-1
14:34:15.820 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1115/732.pbf.pict
14:34:15.820 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.820 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.820 okhttp.OkHttpClient      I  --> END GET
14:34:15.823 TrafficStats             D  tagSocket(162) with statsTag=0xffffffff, statsUid=-1
14:34:15.825 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1116/732.pbf.pict
14:34:15.825 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.825 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.825 okhttp.OkHttpClient      I  --> END GET
14:34:15.828 TrafficStats             D  tagSocket(174) with statsTag=0xffffffff, statsUid=-1
14:34:15.830 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1114/733.pbf.pict
14:34:15.830 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.830 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.830 okhttp.OkHttpClient      I  --> END GET
14:34:15.833 TrafficStats             D  tagSocket(180) with statsTag=0xffffffff, statsUid=-1
14:34:15.835 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1115/733.pbf.pict
14:34:15.835 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.835 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.836 okhttp.OkHttpClient      I  --> END GET
14:34:15.838 TrafficStats             D  tagSocket(181) with statsTag=0xffffffff, statsUid=-1
14:34:15.840 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1116/733.pbf.pict
14:34:15.841 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.841 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.841 okhttp.OkHttpClient      I  --> END GET
14:34:15.843 TrafficStats             D  tagSocket(185) with statsTag=0xffffffff, statsUid=-1
14:34:15.847 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1462.pbf.pict
14:34:15.847 OfflineReg...istRegions  D  OfflineRegions count: 1
14:34:15.847 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.847 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.847 okhttp.OkHttpClient      I  --> END GET
14:34:15.849 TrafficStats             D  tagSocket(186) with statsTag=0xffffffff, statsUid=-1
14:34:15.852 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1462.pbf.pict
14:34:15.852 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.852 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.852 okhttp.OkHttpClient      I  --> END GET
14:34:15.857 TrafficStats             D  tagSocket(187) with statsTag=0xffffffff, statsUid=-1
14:34:15.859 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1462.pbf.pict
14:34:15.859 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.859 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.859 okhttp.OkHttpClient      I  --> END GET
14:34:15.863 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1462.pbf.pict
14:34:15.863 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.863 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.863 okhttp.OkHttpClient      I  --> END GET
14:34:15.866 TrafficStats             D  tagSocket(188) with statsTag=0xffffffff, statsUid=-1
14:34:15.867 TrafficStats             D  tagSocket(192) with statsTag=0xffffffff, statsUid=-1
14:34:15.870 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1462.pbf.pict
14:34:15.871 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.871 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.872 okhttp.OkHttpClient      I  --> END GET
14:34:15.874 TrafficStats             D  tagSocket(191) with statsTag=0xffffffff, statsUid=-1
14:34:15.882 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1463.pbf.pict
14:34:15.882 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.882 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.882 okhttp.OkHttpClient      I  --> END GET
14:34:15.895 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1463.pbf.pict
14:34:15.895 TrafficStats             D  tagSocket(196) with statsTag=0xffffffff, statsUid=-1
14:34:15.896 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.896 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.896 okhttp.OkHttpClient      I  --> END GET
14:34:15.903 TrafficStats             D  tagSocket(266) with statsTag=0xffffffff, statsUid=-1
14:34:15.907 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1463.pbf.pict
14:34:15.907 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:15.907 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:15.907 okhttp.OkHttpClient      I  --> END GET
14:34:15.910 TrafficStats             D  tagSocket(275) with statsTag=0xffffffff, statsUid=-1
14:34:15.947 InputTransport           D  Input channel destroyed: 'ClientS', fd=171
14:34:15.947 InputTransport           D  Input channel destroyed: 'ClientS', fd=223
14:34:15.947 InputTransport           D  Input channel destroyed: 'ClientS', fd=227
14:34:15.948 InputTransport           D  Input channel destroyed: 'ClientS', fd=147
14:34:15.973 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/9/278/183.pbf.pict (190ms)
14:34:15.974 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:15.974 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:15.974 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:14 GMT
14:34:15.974 okhttp.OkHttpClient      I  server: Cowboy
14:34:15.974 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:15.974 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:15.975 okhttp.OkHttpClient      I  <-- END HTTP
14:34:15.996 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1114/731.pbf.pict (197ms)
14:34:15.996 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:15.996 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:15.996 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:14 GMT
14:34:15.996 okhttp.OkHttpClient      I  server: Cowboy
14:34:15.996 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:15.999 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/10/558/365.pbf.pict (190ms)
14:34:15.999 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.000 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.000 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:14 GMT
14:34:16.000 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.000 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.000 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.001 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.007 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.007 SSLPinning               D  Fingerprint valid
14:34:16.010 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/10/558/366.pbf.pict (215ms)
14:34:16.010 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.010 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.010 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:14 GMT
14:34:16.011 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.011 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.011 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.011 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.012 SSLPinning               D  Fingerprint valid
14:34:16.013 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.014 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.015 SSLPinning               D  Fingerprint valid
14:34:16.015 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.017 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.019 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1115/731.pbf.pict (209ms)
14:34:16.019 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.019 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.019 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:14 GMT
14:34:16.020 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.020 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.020 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.036 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.037 SSLPinning               D  Fingerprint valid
14:34:16.038 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.225 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1463.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.261 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1463.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.262 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1463.pbf.pict
14:34:16.262 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.262 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.263 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1463.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.263 okhttp.OkHttpClient      I  --> END GET
14:34:16.263 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1463.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.267 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.268 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1463.pbf.pict
14:34:16.289 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1463.pbf.pict
14:34:16.289 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.289 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.289 okhttp.OkHttpClient      I  --> END GET
14:34:16.329 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1464.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.331 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1464.pbf.pict
14:34:16.331 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.331 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.331 okhttp.OkHttpClient      I  --> END GET
14:34:16.334 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.335 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1464.pbf.pict
14:34:16.343 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1115/733.pbf.pict (507ms)
14:34:16.344 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.349 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.349 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:15 GMT
14:34:16.349 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.349 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.350 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.350 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.351 SSLPinning               D  Fingerprint valid
14:34:16.352 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.362 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1464.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.363 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1464.pbf.pict
14:34:16.364 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.364 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.364 okhttp.OkHttpClient      I  --> END GET
14:34:16.367 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.369 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1464.pbf.pict
14:34:16.370 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1464.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.397 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1464.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.414 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1463.pbf.pict (121ms)
14:34:16.415 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.415 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.415 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:15 GMT
14:34:16.415 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.416 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.416 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.416 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.417 SSLPinning               D  Fingerprint valid
14:34:16.418 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.446 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1464.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.448 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1464.pbf.pict
14:34:16.448 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.448 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.449 okhttp.OkHttpClient      I  --> END GET
14:34:16.449 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1464.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.451 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.452 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1464.pbf.pict
14:34:16.480 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1464.pbf.pict
14:34:16.480 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.480 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.481 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1464.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.485 okhttp.OkHttpClient      I  --> END GET
14:34:16.487 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.489 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1464.pbf.pict
14:34:16.512 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1464.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.514 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1464.pbf.pict
14:34:16.514 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.514 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.514 okhttp.OkHttpClient      I  --> END GET
14:34:16.516 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.516 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1464.pbf.pict
14:34:16.520 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1464.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.630 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1114/733.pbf.pict (799ms)
14:34:16.630 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.631 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.631 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:15 GMT
14:34:16.631 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.631 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.631 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1115/732.pbf.pict (810ms)
14:34:16.631 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.632 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.632 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.632 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.632 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:15 GMT
14:34:16.632 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.632 SSLPinning               D  Fingerprint valid
14:34:16.632 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.633 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.633 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.633 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.634 SSLPinning               D  Fingerprint valid
14:34:16.634 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.687 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1464.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.698 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1464.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.718 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.net.SocketException: Socket is closed
14:34:16.720 Mbgl-HttpRequest         I  Request failed due to a connection error: Socket is closed https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1463.pbf.pict
14:34:16.723 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1465.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.730 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1465.pbf.pict
14:34:16.730 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.730 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.730 okhttp.OkHttpClient      I  --> END GET
14:34:16.732 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.737 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1465.pbf.pict
14:34:16.763 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1465.pbf.pict
14:34:16.763 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.763 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.764 okhttp.OkHttpClient      I  --> END GET
14:34:16.765 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1465.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.766 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.768 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1465.pbf.pict
14:34:16.770 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1465.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.776 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1116/731.pbf.pict (966ms)
14:34:16.776 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.777 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.777 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:15 GMT
14:34:16.778 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.778 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.778 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.778 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.779 SSLPinning               D  Fingerprint valid
14:34:16.780 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.799 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1462.pbf.pict (938ms)
14:34:16.799 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.799 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.799 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:15 GMT
14:34:16.800 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.800 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.800 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.800 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.801 SSLPinning               D  Fingerprint valid
14:34:16.802 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.805 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1465.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.826 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1116/732.pbf.pict (1000ms)
14:34:16.827 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.827 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.827 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:15 GMT
14:34:16.827 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.827 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.828 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.828 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.831 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1114/732.pbf.pict (1016ms)
14:34:16.831 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.831 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.831 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:15 GMT
14:34:16.831 SSLPinning               D  Fingerprint valid
14:34:16.831 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.832 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.832 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.832 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.833 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.834 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1465.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.835 SSLPinning               D  Fingerprint valid
14:34:16.836 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.836 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1465.pbf.pict
14:34:16.837 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.837 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.837 okhttp.OkHttpClient      I  --> END GET
14:34:16.840 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.842 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1465.pbf.pict
14:34:16.865 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1465.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.870 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1465.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.871 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1465.pbf.pict
14:34:16.872 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.872 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.872 okhttp.OkHttpClient      I  --> END GET
14:34:16.872 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1465.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.874 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.875 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1465.pbf.pict
14:34:16.892 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/11/1116/733.pbf.pict (1050ms)
14:34:16.892 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.892 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.892 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:15 GMT
14:34:16.893 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.893 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.893 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.893 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.895 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1465.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.895 SSLPinning               D  Fingerprint valid
14:34:16.898 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1462.pbf.pict (1050ms)
14:34:16.898 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.898 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.898 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.898 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:15 GMT
14:34:16.899 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.899 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.899 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.899 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.900 SSLPinning               D  Fingerprint valid
14:34:16.901 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.906 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1465.pbf.pict
14:34:16.906 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.906 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.907 okhttp.OkHttpClient      I  --> END GET
14:34:16.910 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.911 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2232/1465.pbf.pict
14:34:16.920 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.920 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1466.pbf.pict
14:34:16.920 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.921 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.921 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.921 okhttp.OkHttpClient      I  --> END GET
14:34:16.923 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.924 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2228/1466.pbf.pict
14:34:16.937 Choreographer            I  Skipped 130 frames!  The application may be doing too much work on its main thread.
14:34:16.941 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1466.pbf.pict
14:34:16.941 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.941 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.942 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.942 okhttp.OkHttpClient      I  --> END GET
14:34:16.943 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.944 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1466.pbf.pict
14:34:16.945 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.958 okhttp.OkHttpClient      I  <-- 200 OK https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1462.pbf.pict (1105ms)
14:34:16.958 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2229/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.959 okhttp.OkHttpClient      I  access-control-allow-origin: *
14:34:16.959 okhttp.OkHttpClient      I  content-type: application/x-protobuf
14:34:16.959 okhttp.OkHttpClient      I  date: Sat, 29 Jun 2024 12:34:15 GMT
14:34:16.959 okhttp.OkHttpClient      I  server: Cowboy
14:34:16.959 okhttp.OkHttpClient      I  x-demo-pin-fp: +u0D/HRfV5somDoLlW/VEfOOpTjX9OoTrbmiVpEYSG8=
14:34:16.960 okhttp.OkHttpClient      I  x-server: Demo/1.0.0
14:34:16.960 okhttp.OkHttpClient      I  <-- END HTTP
14:34:16.961 SSLPinning               D  Fingerprint valid
14:34:16.962 Mbgl-HttpRequest         V  [HTTP] Request was successful (code = 200).
14:34:16.967 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.968 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1466.pbf.pict
14:34:16.968 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.968 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.968 okhttp.OkHttpClient      I  --> END GET
14:34:16.969 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.970 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1466.pbf.pict
14:34:16.970 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2230/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.973 okhttp.OkHttpClient      I  --> GET https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1466.pbf.pict
14:34:16.973 okhttp.OkHttpClient      I  x-demo-session: 0-7a6f6b6933406f6e79782e62696f636f6465642e636f6d-30303030303030302d303030302d303030302d333233322d373263343562666231313034-ce03471bb1520ba7452ff38c68e2ec98a2a1400b92b9f8316e49c897f7bcf7d5
14:34:16.973 okhttp.OkHttpClient      I  User-Agent: MyUser Agent
14:34:16.973 okhttp.OkHttpClient      I  --> END GET
14:34:16.981 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81
14:34:16.981 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81
14:34:16.982 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.982 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81
14:34:16.982 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81
14:34:16.982 okhttp.OkHttpClient      I  <-- HTTP FAILED: java.io.IOException: Canceled
14:34:16.982 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81
14:34:16.982 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.983 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.983 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81
14:34:16.983 Mbgl-HttpRequest         W  Request failed due to a permanent error: Canceled https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1466.pbf.pict
14:34:16.983 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.984 Mbgl-HttpRequest         D  [HTTP] This request was cancelled (https://server.demo.com/api/storage/map/live/b30749443f742d94eaf5199842b5e78878fda55b17475af4f12308dd000a4327/v3/12/2231/1466.pbf.pict). This is expected for tiles that were being prefetched but are no longer needed for the map to render.
14:34:16.984 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_CONNECTION', message='Socket is closed'}  81
14:34:16.984 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81
14:34:16.984 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81
14:34:16.985 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81
14:34:16.985 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81
14:34:16.985 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81
14:34:16.985 OfflineMap...1$observer  D  [OFFLINE] getStatusObserverFlow onError OfflineRegionError{reason='REASON_OTHER', message='Canceled'}  81

Any idea what to look for or try to change?

louwers commented 5 days ago

Could you try the default OkHttp implementation? This will help us make sure it's not your custom implementation that is causing the problem.

Also, you might want to look into this: https://github.com/maplibre/maplibre-native/pull/2231 This is available in 11.0.0 and is now the preferred way to swap out the HTTP implementation.

zokipirlo commented 5 days ago

Could you try the default OkHttp implementation? This will help us make sure it's not your custom implementation that is causing the problem.

Wow, if i comment out MapLibre.setModuleProvider it works fine. Will need to check what is different here. This is default implementation right?

Also, you might want to look into this: #2231 This is available in 11.0.0 and is now the preferred way to swap out the HTTP implementation.

That's why I switched to v11, before I need a local fork of project to swap HTTP client. I'm using it because of custom certifactes trust and some interceptors to log request and add headers to authenticate requests.

louwers commented 5 days ago
public class ModuleProviderImpl implements ModuleProvider {

  @Override
  @NonNull
  public HttpRequest createHttpRequest() {
    return new HttpRequestImpl();
  }

  @NonNull
  @Override
  public LibraryLoaderProvider createLibraryLoaderProvider() {
    return new LibraryLoaderProviderImpl();
  }
}

This is the default ModuleProviderImpl which indeed uses HttpRequestImpl.

zokipirlo commented 4 days ago

Finally found a problem. createHttpRequest method in ModuleProvider must return new instance.

class MyMaplibreModuleProvider(
    private val callFactory: Call.Factory,
    private val isDebug: Boolean
) : ModuleProvider {
    private val httpRequestImpl: HttpRequest by lazy {
        SessionHttpRequestImpl(callFactory)
    }

    override fun createHttpRequest(): HttpRequest {
        if (isDebug) {
            SessionHttpRequestImpl.enablePrintRequestUrlOnFailure(true)
            SessionHttpRequestImpl.enableLog(true)
        }
        return SessionHttpRequestImpl(callFactory)  // This Works!
        return httpRequestImpl                      // Here are errors!
    }

    override fun createLibraryLoaderProvider(): LibraryLoaderProvider {
        return LibraryLoaderProviderImpl()
    }
}

Any idea why is a problem to have a reference to implementation of HttpRequest?

zokipirlo commented 4 days ago

Could be somehow related to that?

louwers commented 3 days ago

That is not included in the 11.0.0 release.