Comments (11)
797/800 isn't bad :)
Interesting that this seems to happen during ls
. Yes, agree that there could be some retry logic for anything within _call
. Would you be interested in implementing this and submitting a PR?
from gcsfs.
I agree it's not that bad - especially since I think I opened a few more files, so it's closer to 1000.
Since you're open to it, yes, I can try my hand at a PR. Can't guarantee it'll come today though.
from gcsfs.
The try/retry should go around this line: https://github.com/dask/gcsfs/blob/master/gcsfs/core.py#L298
from gcsfs.
OK to close?
from gcsfs.
Absolutely!
from gcsfs.
@martindurant can you reopen the issue ?
I was misled in thinking that error 104 was not caught as retriable but it is the logging of it that is confusing, especially when one looks at Stackdriver logging - we use gcsfs in Cloud Functions.
In particular:
logger.exception("_call exception: %s", e)
if retry == self.retries - 1:
raise e
if is_retriable(e):
# retry
continue
raise e
If retriable, would we want to log as an exception ? Warning no good for us as this is mapped to Error in SD logging too.
I would remove the logging.exception
and add a logging.info
in the is_retriable
block instead.
from gcsfs.
How about:
--- a/gcsfs/core.py
+++ b/gcsfs/core.py
@@ -467,12 +467,13 @@ class GCSFileSystem(object):
validate_response(r, path)
break
except (HtmlError, RequestException, GoogleAuthError) as e:
- logger.exception("_call exception: %s", e)
if retry == self.retries - 1:
+ logger.exception("_call out of retries on exception: %s", e)
raise e
if is_retriable(e):
- # retry
+ logger.debug("_call retrying after exception: %s", e)
continue
+ logger.exception("_call non-retriable exception: %s", e)
raise e
try:
from gcsfs.
Very good ! The more - "switchable" - info the better !
from gcsfs.
@martindurant Can you reopen the issue to include your latest code proposal ?
from gcsfs.
This change was made in 323ac55 ( https://github.com/dask/gcsfs/blob/master/gcsfs/core.py#L474 )
from gcsfs.
Thx ! Had missed that.
from gcsfs.
Related Issues (20)
- Stale cache info leading to failing isfile check HOT 2
- _find does not support maxdepth
- GCS High Performance Parallel Listing
- Strange behavior with `HTTPError` and multiprocessing HOT 3
- isdir/info method works incorrectly HOT 20
- Clarify how to pass JSON credentials HOT 2
- Is it needed to be so strict about dependency on fsspec HOT 1
- Release 2023.10.0 and consider relaxing fsspec dependency HOT 3
- Error when listing large directory with versions=True
- Request: add chmod
- Issues when using identity_pool.Credentials for connecting GCSFileSystem HOT 2
- Strange error message when using cp instead of put HOT 2
- Filename with slashes in the path are getting URL encoded, causing them to fail HOT 2
- Pin generation on open for version aware file system HOT 4
- asyncio exception while writing to zarr store HOT 5
- Add API reference for gcsfs.mapping to docs HOT 2
- `fs.isdir` latency 200x slower beginning with version 2023.09.01 HOT 1
- Error introduced in 2024.3.0 HOT 2
- FileNotFoundError since 2024.3.1 HOT 5
- Missing 'name' attribute in 'GCSFile' object when accessing PDF files HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gcsfs.