blob: 1c274d8b8893598e2bad0184797546caa17db80b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
// Author: arnej
package jvm
import (
"strings"
"github.com/vespa-engine/vespa/client/go/internal/admin/prog"
)
const (
PROXY_JAR_FILE = "lib/jars/config-proxy-jar-with-dependencies.jar"
PROXY_MAIN_CLASS = "com.yahoo.vespa.config.proxy.ProxyServer"
PROXY_PORT_ARG = "19090"
)
type ConfigProxyJvm struct {
containerBase
}
func (cpc *ConfigProxyJvm) ArgForMain() string {
return PROXY_PORT_ARG
}
func (cpc *ConfigProxyJvm) ConfigId() string {
return ""
}
func (cpc *ConfigProxyJvm) ConfigureOptions(configsources []string, userargs string) {
opts := cpc.jvmOpts
opts.jarWithDeps = PROXY_JAR_FILE
opts.mainClass = PROXY_MAIN_CLASS
opts.AddOption("-XX:+ExitOnOutOfMemoryError")
opts.AddOption("-XX:+PreserveFramePointer")
opts.AddOption("-XX:CompressedClassSpaceSize=32m")
opts.AddOption("-XX:MaxDirectMemorySize=32m")
opts.AddOption("-XX:ThreadStackSize=448")
opts.AddOption("-XX:MaxJavaStackTraceDepth=1000")
opts.AddOption("-XX:-OmitStackTraceInFastThrow")
opts.AddOption("-XX:ActiveProcessorCount=2")
opts.AddOption("-Dproxyconfigsources=" + strings.Join(configsources, ","))
opts.AddOption("-Djava.io.tmpdir=${VESPA_HOME}/var/tmp")
if userargs != "" {
opts.AddJvmArgsFromString(userargs)
}
minFallback := MegaBytesOfMemory(32)
maxFallback := MegaBytesOfMemory(128)
opts.AddDefaultHeapSizeArgs(minFallback, maxFallback)
}
func (cpc *ConfigProxyJvm) exportExtraEnv(ps *prog.Spec) {
}
func NewConfigProxyJvm(serviceName string) *ConfigProxyJvm {
var cpc ConfigProxyJvm
cpc.serviceName = serviceName
cpc.jvmOpts = NewOptions(&cpc)
return &cpc
}
|