[
https://issues.apache.org/jira/browse/FELIX-2380?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Derek Baum updated FELIX-2380:
------------------------------
Fix Version/s: gogo-0.6.0
> [gogo] lock contention in piped writer when reader doesn't read all input
> -------------------------------------------------------------------------
>
> Key: FELIX-2380
> URL: https://issues.apache.org/jira/browse/FELIX-2380
> Project: Felix
> Issue Type: Bug
> Components: Gogo
> Reporter: Derek Baum
> Assignee: Derek Baum
> Priority: Minor
> Fix For: gogo-0.6.0
>
>
> The following completes almost immediately:
> g! cat conf/config.properties | grep Apache
> # Licensed to the Apache Software Foundation (ASF) under one
> # to you under the Apache License, Version 2.0 (the
> true
> but adding the --quiet flag to grep makes it take 1000mS longer:
> g! cat conf/config.properties | grep --quiet Apache
> true
> This is because grep stops reading its input as soon as it has seen the first
> match when --quiet is given.
> The same delay also occurs if you pipe into a command that doesn't read its
> input:
> g! cat conf/config.properties | echo
> The contention occurs because the writer (cat) is blocked on wait(1024) in
> PipedInputStream when the 1024 byte buffer is full. It is only unblocked when
> the reader (grep) reads more input. It is NOT unblocked when the reader
> closes the piped input.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.