{
  "_class" : "hudson.matrix.MatrixBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.SCMTrigger$SCMTriggerCause",
          "shortDescription" : "Started by an SCM change"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "BRANCH",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "EMAIL_NOTIFICATIONS",
          "value" : "jenkins-notifications@lists.osmocom.org laforge@gnumonks.org"
        }
      ]
    },
    {
      "_class" : "jenkins.metrics.impl.TimeInQueueAction",
      "blockedDurationMillis" : 0,
      "blockedTimeMillis" : 0,
      "buildableDurationMillis" : 0,
      "buildableTimeMillis" : 0,
      "buildingDurationMillis" : 71747,
      "executingTimeMillis" : 71747,
      "executorUtilization" : 1.0,
      "subTaskCount" : 0,
      "waitingDurationMillis" : 6421,
      "waitingTimeMillis" : 6421
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 746,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5e2cd8e0b8762214f4bd584cc0e43b816895b8ba",
            "branch" : [
              {
                "SHA1" : "5e2cd8e0b8762214f4bd584cc0e43b816895b8ba",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5e2cd8e0b8762214f4bd584cc0e43b816895b8ba",
            "branch" : [
              {
                "SHA1" : "5e2cd8e0b8762214f4bd584cc0e43b816895b8ba",
                "name" : "origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "5e2cd8e0b8762214f4bd584cc0e43b816895b8ba",
        "branch" : [
          {
            "SHA1" : "5e2cd8e0b8762214f4bd584cc0e43b816895b8ba",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://gerrit.osmocom.org/erlang/osmo-s1gw"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#746",
  "duration" : 71747,
  "estimatedDuration" : 81230,
  "executor" : None,
  "fullDisplayName" : "master-osmo-s1gw #746",
  "id" : "746",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 746,
  "queueId" : 62737,
  "result" : "SUCCESS",
  "timestamp" : 1773742567323,
  "url" : "https://jenkins.osmocom.org/jenkins/job/master-osmo-s1gw/746/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/mme_registry.erl",
          "src/osmo_s1gw_sup.erl"
        ],
        "commitId" : "75a7446cddd00fea23fb17a75edd709f88b93f55",
        "timestamp" : 1773409027000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "mme_registry: add backwards compat for old sctp_client config\u000a\u000aWhen 'mme_pool' is absent from the config, automatically populate the\u000aMME pool with a single 'default' entry derived from the 'sctp_client'\u000asection (including legacy mme_loc_addr/mme_rem_addr params), and emit\u000aa deprecation warning.  osmo_s1gw_sup:init/1 normalises 'sctp_client'\u000ain the app env (with all defaults applied) before children start, so\u000amme_registry can safely read it without duplicating the parsing logic.\u000a\u000aChange-Id: Ia97fb61bbb5ace6f43d1a6768fb5fb6883158532\u000aRelated: SYS#7052\u000a",
        "date" : "2026-03-13 20:37:07 +0700",
        "id" : "75a7446cddd00fea23fb17a75edd709f88b93f55",
        "msg" : "mme_registry: add backwards compat for old sctp_client config",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/mme_registry.erl"
          },
          {
            "editType" : "edit",
            "file" : "src/osmo_s1gw_sup.erl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/s1gw_metrics.erl",
          "include/s1gw_metrics.hrl",
          "src/s1ap_utils.erl",
          "src/enb_proxy.erl"
        ],
        "commitId" : "bceb3d454d0c2af05759bc11f1ff8f64ba8a44f2",
        "timestamp" : 1773409027000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "enb_proxy: add initial MME pooling support\u000a\u000aRework the CONNECTING state to dynamically select an MME from the pool\u000avia mme_registry:mme_select/1, passing the eNB's Tracking Area Codes\u000a(from the ?'id-SupportedTAs' IE of the S1 SETUP REQUEST) and a list of\u000aalready-tried MMEs, so successive attempts pick a different candidate.\u000a\u000aOn connection failure (SCTP establishment timeout or error), or when the\u000aselected MME rejects the S1 SETUP REQUEST or fails to respond in time,\u000athe FSM re-enters the CONNECTING state rather than terminating.  This\u000atriggers another mme_select/1 call with the failed MME added to the\u000atried_mmes list.  S1 SETUP FAILURE PDUs from the MME are intentionally\u000anot forwarded to the eNB, so the retry is fully transparent.\u000a\u000aOnce mme_select/1 exhausts all candidates it returns 'error'; at that\u000apoint the FSM builds and sends an S1 SETUP FAILURE PDU to the eNB and\u000aterminates.\u000a\u000aOther changes:\u000a* add close_sock/1, close_conn/1 helpers; simplify terminate/3\u000a* add ?S1GW_CTR_ENB_PROXY_MME_SELECT_ERROR counter\u000a\u000aChange-Id: I83dc4a78c78a7b87e87f5ca9a941a168d6c1dc36\u000aRelated: SYS#7052\u000a",
        "date" : "2026-03-13 20:37:07 +0700",
        "id" : "bceb3d454d0c2af05759bc11f1ff8f64ba8a44f2",
        "msg" : "enb_proxy: add initial MME pooling support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/enb_proxy.erl"
          },
          {
            "editType" : "edit",
            "file" : "include/s1gw_metrics.hrl"
          },
          {
            "editType" : "edit",
            "file" : "src/s1gw_metrics.erl"
          },
          {
            "editType" : "edit",
            "file" : "src/s1ap_utils.erl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/enb_proxy.erl"
        ],
        "commitId" : "973a3eb53ea4464eb826a4365445be67473a5b6a",
        "timestamp" : 1773431793000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "enb_proxy: fix stale SCTP events misprocessed during MME pool selection\u000a\u000aWhen closing a connection to one MME and opening a new one to the next,\u000aa SHUTDOWN_COMP event from the old (now-closed) socket can still be\u000apending in the process mailbox.  The sctp_assoc_change handlers in the\u000a'connecting' and 'wait_s1setup_rsp' states were matching '_Socket',\u000aignoring the socket identity.  A stale SHUTDOWN_COMP would therefore\u000afall into the '_ -> repeat_state_and_data' branch, triggering a spurious\u000are-entry of 'connecting', which immediately closed the newly established\u000aconnection to the next MME and skipped to yet another pool entry.\u000a\u000aFix this by matching the Socket against the current S#state.sock in both\u000ahandlers.  Events arriving on a previously closed socket no longer match\u000athese clauses and are silently dropped by the catch-all handle_event/4.\u000a\u000aThis was found thanks to the MME pooling TCs in ttcn3-s1gw-test.\u000a\u000aChange-Id: I4211dd343607f045cf4dd33fa568ed580c79dd9f\u000aRelated: SYS#7052\u000a",
        "date" : "2026-03-14 02:56:33 +0700",
        "id" : "973a3eb53ea4464eb826a4365445be67473a5b6a",
        "msg" : "enb_proxy: fix stale SCTP events misprocessed during MME pool selection",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/enb_proxy.erl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/s1gw_metrics.erl",
          "src/mme_registry.erl",
          "include/s1gw_metrics.hrl",
          "src/enb_proxy.erl"
        ],
        "commitId" : "5e2cd8e0b8762214f4bd584cc0e43b816895b8ba",
        "timestamp" : 1773495498000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
          "fullName" : "Vadim Yanitskiy"
        },
        "authorEmail" : "vyanitskiy@sysmocom.de",
        "comment" : "enb_proxy/mme_registry: add per-MME counters for connection events\u000a\u000aRegister a set of per-MME counters when an MME is added to the pool,\u000aand increment them from enb_proxy at the relevant state transitions:\u000a\u000a  - selected          (MME chosen for a connection attempt)\u000a  - conn_est_timeout  (SCTP connection establishment timed out)\u000a  - conn_est_failure  (SCTP connection establishment failed)\u000a  - s1setup_rsp       (S1 SETUP RESPONSE received successfully)\u000a  - s1setup_failure   (S1 SETUP FAILURE received from MME)\u000a  - s1setup_rsp_timeout (timed out waiting for S1 SETUP RESPONSE)\u000a\u000aA new global aggregate counter ?S1GW_CTR_ENB_PROXY_MME_SELECTED is\u000aalso added alongside the existing ?S1GW_CTR_ENB_PROXY_MME_SELECT_ERROR.\u000a\u000aChange-Id: Ie0149c1ad0754af6d8f5f95d4e8919993eac3760\u000aRelated: SYS#7052\u000a",
        "date" : "2026-03-14 20:38:18 +0700",
        "id" : "5e2cd8e0b8762214f4bd584cc0e43b816895b8ba",
        "msg" : "enb_proxy/mme_registry: add per-MME counters for connection events",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/mme_registry.erl"
          },
          {
            "editType" : "edit",
            "file" : "src/enb_proxy.erl"
          },
          {
            "editType" : "edit",
            "file" : "src/s1gw_metrics.erl"
          },
          {
            "editType" : "edit",
            "file" : "include/s1gw_metrics.hrl"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/fixeria",
      "fullName" : "Vadim Yanitskiy"
    }
  ],
  "runs" : [
    {
      "number" : 746,
      "url" : "https://jenkins.osmocom.org/jenkins/job/master-osmo-s1gw/a1=default,a2=default,a3=default,a4=default,label=osmocom-master/746/"
    }
  ]
}