.net 升级到K2 Blackpearl 4.6.11后主机服务器引发异常

.net 升级到K2 Blackpearl 4.6.11后主机服务器引发异常,.net,k2,k2-blackpearl,.net,K2,K2 Blackpearl,我们刚刚在我们的环境中将K2从4.6.6版升级到4.6.11版。 在具有负载平衡器设置的环境中有两台K2服务器。 升级后,K2 workflow API中的一些函数会引发异常 “错误”、“环境服务器”、“15100”、“通用”、“SourceCode.Workflow.Runtime.Management[OpenConnection[string[]names]]”,“发生15100错误,错误:无法连接到端口5252上的loadbal-k2-abc.com。由于连接方在一段时间后没有正确响应,

我们刚刚在我们的环境中将K2从4.6.6版升级到4.6.11版。 在具有负载平衡器设置的环境中有两台K2服务器。 升级后,K2 workflow API中的一些函数会引发异常

“错误”、“环境服务器”、“15100”、“通用”、“SourceCode.Workflow.Runtime.Management[OpenConnection[string[]names]]”,“发生15100错误,错误:无法连接到端口5252上的loadbal-k2-abc.com。由于连接方在一段时间后没有正确响应,连接尝试失败;或者由于连接的主机未能响应,建立的连接失败。“匿名”、“0.0.0.0” “错误”、“环境服务器”、“15100”、“通用”、“SourceCode.Workflow.Runtime.Management[SendArchiveX[string[]names]]”,“出现15100错误,错误:无法连接到端口5252上的loadbal-k2-abc.com。由于连接方在一段时间后没有正确响应,连接尝试失败;或者由于连接的主机未能响应,建立的连接失败。“匿名”、“0.0.0.0” “错误”、“环境服务器”、“15101”、“通用”、“SourceCode.Workflow.Runtime.Management[ReleaseWorklistItem[string[]names]]”,“出现15101错误,错误:无法连接到端口5252上的loadbal-k2-abc.com。由于连接方在一段时间后没有正确响应,连接尝试失败;或者由于连接的主机未能响应,建立的连接失败。“匿名”、“0.0.0.0” “错误”、“系统”、“2025”、“InternalMarshallError”、“SourceCode.Hosting.Server.Runtime.HostServerBroker.InternalMarshall”、“2025错误编组SourceCode.Workflow.Runtime.Management.WorkflowManagementHostServer.ReleaseWorklistItem,无法连接到端口5252上的loadbal-k2-abc.com。由于连接方在一段时间后没有正确响应,连接尝试失败;或者由于连接的主机未能响应,建立的连接失败。","","", “错误”、“系统”、“2025”、“InternalMarshallError”、“SourceCode.Hosting.Server.Services.TCPClientSocket.InternalMarshall”、“2025错误编组SourceCode.Workflow.Runtime.Management.WorkflowManagementHostServer.ReleaseWorklistItem,无法连接到端口5252上的loadbal-k2-abc.com。由于连接方在一段时间后没有正确响应,连接尝试失败;或者由于连接的主机未能响应,建立的连接失败。" “错误”、“通信”、“8060”、“ProcessPacketError”、“SourceCode.Hosting.Server.Services.TCPClientSocket.ProcessMessage”、“8060 ProcessPacket错误,无法连接到端口5252上的loadbal-k2-abc.com。由于连接方在一段时间后没有正确响应,连接尝试失败;或者由于连接的主机未能响应,建立的连接失败。"

在HostServer日志中,我们可以看到K2服务器出于某种原因试图联系K2负载平衡器。这看起来与K2 4.6.6有所不同,K2 4.6.6工作正常,没有调用负载平衡器。 我们还检查了K2配置,没有提到负载平衡器地址

我们还升级了一个没有负载平衡器的环境,它在那里工作没有任何错误


为什么K2主机服务器试图连接到K2 4.6.11中的负载平衡器?它从哪里获得地址?

这是在K2支持的帮助下解决的。K2建立连接的方式和我们建立连接字符串的方式都有变化,需要更改

这是在4.6.11中随SSO更改而引入的(TFS 524432-凭据缓存的SSO提示)。在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

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

因此,WindowsDomain密钥在SSO之前不是持久化的,而是持久化的 作为AuthData添加(注意示例连接的结尾 上面的字符串)

打开从WorkflowManagementServer到 WorkflowClient,检查连接是否具有 WindowsDomain,用户名和密码。如果它有全部3个,它会尝试 并使用这些细节来验证用户,在4.6.10中,我们没有持久化 WindowsDomain,它将只执行普通的集成连接字符串 没有用户名和密码

基本上,通过这种配置,您可以尝试进行身份验证 具有以下凭据的WindowsDomain+用户ID将导致 使用类似“域\域\用户”的内容进行身份验证和 因此,身份验证尝试将失败


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