This is an automated email from the ASF dual-hosted git repository.

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new f2f9cb5780 [INLONG-11869][SDK]Obtain a valid ip during initialization 
(#11870)
f2f9cb5780 is described below

commit f2f9cb57802fdbfcf5e5aee9bd961ab35c34b3f1
Author: lvanneo <[email protected]>
AuthorDate: Mon May 19 15:45:19 2025 +0800

    [INLONG-11869][SDK]Obtain a valid ip during initialization (#11870)
---
 .../dataproxy-sdk-golang/dataproxy/options.go        |  7 ++-----
 .../dataproxy-sdk-golang/util/id.go                  |  2 +-
 .../dataproxy-sdk-golang/util/ip.go                  | 20 ++++++++++++++++++++
 3 files changed, 23 insertions(+), 6 deletions(-)

diff --git 
a/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/dataproxy/options.go 
b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/dataproxy/options.go
index 5d4692f077..985802ed6d 100755
--- a/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/dataproxy/options.go
+++ b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/dataproxy/options.go
@@ -41,12 +41,9 @@ var (
 
 func init() {
        var err error
-       localIP, err = util.GetFirstPrivateIP()
+       localIP, err = util.GetOneIP()
        if err != nil {
-               localIP, err = util.GetFirstIP()
-               if err != nil {
-                       localIP = "noIP"
-               }
+               localIP = "noIP"
        }
 }
 
diff --git a/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/util/id.go 
b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/util/id.go
index 268a907da0..443a84548a 100755
--- a/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/util/id.go
+++ b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/util/id.go
@@ -29,7 +29,7 @@ var (
 )
 
 func init() {
-       ip, err := GetFirstPrivateIP()
+       ip, err := GetOneIP()
        if err != nil {
                log.Fatal(err)
        }
diff --git a/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/util/ip.go 
b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/util/ip.go
index 2ca85d429f..3128fcd864 100755
--- a/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/util/ip.go
+++ b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/util/ip.go
@@ -154,3 +154,23 @@ func GetFirstIP() (string, error) {
 
        return "", fmt.Errorf("no ip")
 }
+
+// GetOneIP obtain a valid ip address of the current host, with private ip 
preferred
+func GetOneIP() (string, error) {
+       ips, err := GetIPv4List()
+       if err != nil {
+               return "", fmt.Errorf("failed to obtain ip. %w", err)
+       }
+
+       if len(ips) == 0 {
+               return "", fmt.Errorf("no ip")
+       }
+
+       for _, ip := range ips {
+               if IsPrivateIP(ip) {
+                       return ip, nil
+               }
+       }
+
+       return ips[0], nil
+}

Reply via email to