Skip to content

Make Kerberos realm configurable in HBaseStorageBackend #180

@em3s

Description

@em3s

Summary

The Kerberos principal realm is hardcoded to @KAKAO.HADOOP in HBaseStorageBackend.kt, which couples the code to a specific organization's Kerberos realm and may cause authentication failures in other environments.

Current Behavior

// HBaseStorageBackend.kt:117-118
config["hbase.master.kerberos.principal"] = "hbase/_HOST@KAKAO.HADOOP"
config["hbase.regionserver.kerberos.principal"] = "hbase/_HOST@KAKAO.HADOOP"

Expected Behavior

The Kerberos realm should be configurable via properties:

val kerberosRealm = properties["kerberos.realm"] 
    ?: throw IllegalStateException("Kerberos realm is not set for secure cluster")
config["hbase.master.kerberos.principal"] = "hbase/_HOST@$kerberosRealm"
config["hbase.regionserver.kerberos.principal"] = "hbase/_HOST@$kerberosRealm"

Impact

  • Users outside of Kakao cannot use secure HBase clusters without modifying source code
  • Makes the project less portable for open source adoption

Suggested Implementation

  1. Add kerberos.realm property to the configuration
  2. Update documentation to include the new property
  3. Consider providing a sensible default or requiring explicit configuration for secure clusters

Related

Found during code review of PR #175 (StorageBackend abstraction layer)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions