Skip to content

Commit cf869ce

Browse files
committed
Try smaller buffer size with larger timeouts.
1 parent d858adc commit cf869ce

File tree

4 files changed

+9
-16
lines changed

4 files changed

+9
-16
lines changed

deploy/tasks/buildah-oci-ta.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ spec:
142142
- name: BYTE_BUFFER_SIZE
143143
description: The byte buffer size to use for the domain proxy.
144144
type: string
145-
default: 10485760
145+
default: 1024
146146
- name: PROXY_TARGET_WHITELIST
147147
description: Comma separated whitelist of target hosts for the domain proxy.
148148
type: string

domain-proxy/common.go

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ import (
1414

1515
const (
1616
ByteBufferSizeKey = "BYTE_BUFFER_SIZE"
17-
DefaultByteBufferSize = 10485760
17+
DefaultByteBufferSize = 1024
1818
DomainSocketKey = "DOMAIN_SOCKET"
1919
DefaultDomainSocket = "/tmp/domain-socket.sock"
2020
ConnectionTimeoutKey = "CONNECTION_TIMEOUT"
2121
DefaultConnectionTimeout = 1000 * time.Millisecond
2222
IdleTimeoutKey = "IDLE_TIMEOUT"
23-
DefaultIdleTimeout = 1000 * time.Millisecond
23+
DefaultIdleTimeout = 30000 * time.Millisecond
2424
)
2525

2626
var Logger *log.Logger
@@ -41,27 +41,20 @@ func BiDirectionalTransfer(leftConn, rightConn net.Conn, byteBufferSize int, idl
4141
<-done
4242
}
4343

44-
func Transfer(targetConn, sourceConn net.Conn, done chan struct{}, bufferSize int, idleTimeout time.Duration) {
44+
func Transfer(sourceConn, targetConn net.Conn, done chan struct{}, bufferSize int, idleTimeout time.Duration) {
4545
defer func() {
4646
done <- struct{}{}
4747
}()
4848
buf := make([]byte, bufferSize)
4949
for {
50-
n, err := sourceConn.Read(buf)
50+
n, err := io.CopyBuffer(sourceConn, targetConn, buf)
5151
if err != nil {
5252
handleConnectionError(err)
5353
return
5454
} else if n > 0 {
55-
Logger.Printf("%d bytes read", n)
5655
sourceConn.SetReadDeadline(time.Now().Add(idleTimeout))
57-
n, err = targetConn.Write(buf[:n])
58-
if err != nil {
59-
handleConnectionError(err)
60-
return
61-
} else if n > 0 {
62-
Logger.Printf("%d bytes written", n)
63-
targetConn.SetWriteDeadline(time.Now().Add(idleTimeout))
64-
}
56+
targetConn.SetWriteDeadline(time.Now().Add(idleTimeout))
57+
Logger.Printf("%d bytes transferred", n)
6558
}
6659
}
6760
}

domain-proxy/domain_proxy_client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ func (dpc *DomainProxyClient) Stop() {
8282
if err := dpc.listener.Close(); err != nil {
8383
Logger.Printf("Error closing listener: %v", err)
8484
}
85-
dpc.executor.Wait()
85+
//dpc.executor.Wait()
8686
}
8787

8888
func GetServerHttpPort() int {

domain-proxy/domain_proxy_server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ func (dps *DomainProxyServer) Stop() {
196196
if err := dps.listener.Close(); err != nil {
197197
Logger.Printf("Error closing listener: %v", err)
198198
}
199-
dps.executor.Wait()
199+
//dps.executor.Wait()
200200
if _, err := os.Stat(dps.domainSocket); err == nil {
201201
if err := os.Remove(dps.domainSocket); err != nil {
202202
Logger.Printf("Error deleting domain socket: %v", err)

0 commit comments

Comments
 (0)