{"record":{"id":"30986f59685653a3","repo":"t8y2/dbx","slug":"hive-host-is-required","errorCode":null,"errorMessage":"Hive host is required","messagePattern":"Hive host is required","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agents/drivers/argo-go/config.go","lineNumber":251,"sourceCode":"\t\t\t\treturn connectionConfig{}, endpointErr\n\t\t\t}\n\t\t\tconfig.Endpoints = append(config.Endpoints, parsedEndpoint)\n\t\t}\n\t} else {\n\t\tconfig.Endpoints = parsed.endpoints\n\t}\n\tapplyOpenSessionVariables(&config, values, hiveConfs, hiveVars)\n\tif err := applyDelegationToken(&config, values); err != nil {\n\t\treturn connectionConfig{}, err\n\t}\n\tapplyKerberosJavaOptions(&config.Kerberos, params.AgentJavaOptions)\n\tapplyZooKeeperKerberosJavaOptions(&config.ZooKeeperKerberos, params.AgentJavaOptions)\n\tapplyKerberosEnvironment(&config.Kerberos)\n\tif err := finalizeKerberosConfig(&config); err != nil {\n\t\treturn connectionConfig{}, err\n\t}\n\tif len(config.Endpoints) == 0 {\n\t\treturn connectionConfig{}, errors.New(\"Hive host is required\")\n\t}\n\n\ttlsConfig, err := buildTLSConfig(params, values, config.Endpoints[0].Host)\n\tif err != nil {\n\t\treturn connectionConfig{}, err\n\t}\n\tconfig.TLSConfig = tlsConfig\n\tzooKeeperTLSConfig, err := buildZooKeeperTLSConfig(values)\n\tif err != nil {\n\t\treturn connectionConfig{}, err\n\t}\n\tconfig.ZooKeeperTLSConfig = zooKeeperTLSConfig\n\treturn config, nil\n}\n\nfunc isZooKeeperDiscovery(mode string) bool {\n\treturn strings.EqualFold(mode, \"zookeeper\") || strings.EqualFold(mode, \"zookeeperha\")\n}","sourceCodeStart":233,"sourceCodeEnd":269,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/argo-go/config.go#L233-L269","documentation":"The Argo Hive driver requires at least one endpoint (host:port) to establish a connection. After applying parameters, Kerberos options, and TLS config, buildConnectionConfig checks config.Endpoints and returns this error when the list is empty, meaning no host was resolvable from the connection string or parameters.","triggerScenarios":"Calling the driver's connection/config builder with a connection string or parameters that specify no host — e.g. an empty host, only options in the URL fragment, or endpoints stripped out during parsing.","commonSituations":"Connection string like 'jdbc:hive2:///?auth=JWT' with no host; environment variable or parameter providing host not set; typo in the host parameter name so it is ignored by the parser.","solutions":["Include a host in the connection string, e.g. jdbc:hive2://hive-host:10000/default","Set the endpoint/host parameter expected by the driver (check exact parameter name in config.go)","Verify the parsed connection actually populates Endpoints (debug the parse result before config finalization)"],"exampleFix":"// before\njdbc:hive2:///?auth=JWT\n// after\njdbc:hive2://hive.example.com:10000/default?auth=JWT","handlingStrategy":"validation","validationCode":"if !strings.Contains(connStr, \"@\") && !strings.Contains(connStr, \"//host\") {\n    // ensure a host is present in the connection string\n}","typeGuard":null,"tryCatchPattern":"cfg, err := buildConnectionConfig(params)\nif err != nil {\n    if strings.Contains(err.Error(), \"Hive host is required\") { /* fix config */ }\n    return err\n}","preventionTips":["Always include host:port in jdbc:hive2:// connection strings","Verify the host parameter/env var is set in the deployment environment","Validate connection strings in a preflight check before opening connections"],"tags":["go","hive","configuration","missing-host"],"backgroundTag":"missing-required-config","analyzedSha":"c0390bff16418b651f4728520d99adf8ce48829a","analyzedAt":"2026-09-05T23:05:10.900Z","contentChangedAt":"2026-09-05T23:05:10.900Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}