【问题标题】:HostServer throwing exceptions after upgrade to K2 Blackpearl 4.6.11升级到 K2 Blackpearl 4.6.11 后 HostServer 抛出异常
【发布时间】:2016-10-31 17:04:20
【问题描述】:

我们刚刚在我们的环境中将 K2 从版本 4.6.6 升级到了 4.6.11。 环境中有两台 K2 服务器设置了负载均衡器。 升级后,K2 工作流 API 中的一些函数会抛出异常。

"Error","EnvironmentServer","15100","Generic","SourceCode.Workflow.Runtime.Management [OpenConnection [string[] names]]","15100 发生错误,错误:无法连接到 loadbal -k2-abc.com 在 5252 端口上。连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。","anonymous","0.0.0.0 " "Error","EnvironmentServer","15100","Generic","SourceCode.Workflow.Runtime.Management [SendArchiveX [string[] names]]","15100 发生错误,错误:无法连接到 loadbal-k2- abc.com 在端口 5252 上。连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。“,匿名”,“0.0.0.0” "Error","EnvironmentServer","15101","Generic","SourceCode.Workflow.Runtime.Management [ReleaseWorklistItem [string[] names]]","15101 发生错误,错误:无法连接到 loadbal-k2- abc.com 在端口 5252 上。连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。“,匿名”,“0.0.0.0” "Error","System","2025","InternalMarshalError","SourceCode.Hosting.Server.Runtime.HostServerBroker.InternalMarshal","2025 编组 SourceCode.Workflow.Runtime.Management.WorkflowManagementHostServer.ReleaseWorklistItem 时出错,无法连接到loadbal-k2-abc.com 在 5252 端口。连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。","","", "Error","System","2025","InternalMarshalError","SourceCode.Hosting.Server.Services.TCPClientSocket.InternalMarshal","2025 编组 SourceCode.Workflow.Runtime.Management.WorkflowManagementHostServer.ReleaseWorklistItem 时出错,无法连接到loadbal-k2-abc.com 在 5252 端口上。连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。” "Error","Communication","8060","ProcessPacketError","SourceCode.Hosting.Server.Services.TCPClientSocket.ProcessMessage","8060 ProcessPacket 错误,无法连接到端口 5252 上的 loadbal-k2-abc.com。连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。"

在 HostServer 日志中,我们可以看到 K2 服务器出于某种原因尝试联系 K2 负载均衡器。这看起来像是从 K2 4.6.6 的变化,它完美地工作并且没有调用负载均衡器。 我们还检查了 K2 配置,没有提到负载均衡器地址。

我们还在没有负载平衡器的环境中进行了升级,并且它在那里正常工作,没有任何错误。

为什么 K2 主机服务器尝试连接到 K2 4.6.11 中的负载均衡器,它从哪里获取地址?

【问题讨论】:

  • 能否尝试在 K2 安装程序中运行分析部分,看看是否有任何红旗。
  • 没有问题
  • 一口气从4.6.6跳到4.6.11?这真是太棒了……通过更频繁地升级,我们在升级过程中遇到的问题更少。

标签: .net k2 k2-blackpearl


【解决方案1】:

在 K2 支持的帮助下解决了这个问题。 K2 建立连接的方式发生了变化,我们建立连接字符串的方式也需要改变。

这是在 4.6.11 中引入的,其中包含 SSO 更改(TFS 524432 - SSO Prompt for Credential cache)。在 4.6.10 中,当您使用以下连接字符串验证 HostServer 会话时:

Integrated=True;IsPrimaryLogin=True;Authenticate=True;EncryptedPassword=False;Host=k2.denallix.com;Port=5555;UserID=Denallix\Administrator;Password=K2pass!;WindowsDomain=denallix;SecurityLabelName=K2

与会话关联的连接字符串是: Integrated=True;IsPrimaryLogin=True;Authenticate=True;EncryptedPassword=False;Host=dlx;Port=5555;UserID=DENALLIX\Administrator;Password=K2pass!;AuthData=Denallix;SecurityLabelName=K2

因此,WindowsDomain 密钥在 SSO 之前没有保留,而是保留了 添加为 AuthData(注意示例连接结束 上面的字符串)。

当您打开从 WorkflowManagmentServer 到 WorkflowClient,有一个检查连接是否有 Windows 域、用户名和密码。如果它拥有所有 3 个,它会尝试 并使用这些详细信息对用户进行身份验证,在 4.6.10 中,我们没有保留 WindowsDomain,它只会做一个普通的集成连接字符串 没有用户名和密码。

基本上使用这样的配置,您正在尝试进行身份验证 使用以下凭据 WindowsDomain + UserID 导致 使用“域\域\用户”之类的东西进行身份验证和 因此,身份验证尝试将失败。

【讨论】:

    猜你喜欢
    • 2016-04-30
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多