mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
fn: I/O related improvements (#809)
*) I/O protocol parse issues should shutdown the container as the container goes to inconsistent state between calls. (eg. next call may receive previous calls left overs.) *) Move ghost read/write code into io_utils in common. *) Clean unused error from docker Wait() *) We can catch one case in JSON, if there's remaining unparsed data in decoder buffer, we can shut the container *) stdout/stderr when container is not handling a request are now blocked if freezer is also enabled. *) if a fatal err is set for slot, we do not requeue it and proceed to shutdown *) added a test function for a few cases with freezer strict behavior
This commit is contained in:
@@ -15,6 +15,8 @@ type AgentConfig struct {
|
||||
MaxResponseSize uint64 `json:"max_response_size"`
|
||||
}
|
||||
|
||||
var MaxDisabledMsecs = time.Duration(math.MaxInt64)
|
||||
|
||||
func NewAgentConfig() (*AgentConfig, error) {
|
||||
|
||||
var err error
|
||||
@@ -60,8 +62,8 @@ func getEnvMsecs(name string, defaultVal time.Duration) (time.Duration, error) {
|
||||
return defaultVal, err
|
||||
}
|
||||
// disable if negative or set to msecs specified.
|
||||
if durInt < 0 || time.Duration(durInt) >= math.MaxInt64/time.Millisecond {
|
||||
delay = math.MaxInt64
|
||||
if durInt < 0 || time.Duration(durInt) >= MaxDisabledMsecs/time.Millisecond {
|
||||
delay = MaxDisabledMsecs
|
||||
} else {
|
||||
delay = time.Duration(durInt) * time.Millisecond
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user