You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by GitBox <gi...@apache.org> on 2022/12/06 09:23:33 UTC

[GitHub] [dubbo] lphu opened a new issue, #11083: java.lang.IndexOutOfBoundsException: null

lphu opened a new issue, #11083:
URL: https://github.com/apache/dubbo/issues/11083

   dubbo版本: 3.0.12
   
   现象: 多注册中心的情况下, 走到ZoneAwareClusterInvoker时未挑选出符合策略的注册中心,默认选取第一个。 如果没有注册中心可用, 看到已经在之前被修复了[#11046 ](https://github.com/apache/dubbo/pull/11046)。 但是此时注册中心是正常的且只有一个Reference会出现此问题,其他机器以及其他Reference均正常。
   
   初步排查结果:  该Reference下游从dubbo3.x 回退版本至dubbo2.x
   
   <img width="660" alt="image" src="https://user-images.githubusercontent.com/33591744/205870270-0ed5fdcd-48f4-4803-8636-08264f382c15.png">
   
   此时两个注册中心均在invokersToReconnect内
   且 MigrationInvoker内 CurrentAvailableInvoker(即ServiceDiscoveryRegistryDirectory为 UnAvailable状态), Invoker为Avaliable状态.
   
   请问该问题是否和 #10925 此commit有关系?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] lphu commented on issue #11083: java.lang.IndexOutOfBoundsException: null

Posted by GitBox <gi...@apache.org>.
lphu commented on issue #11083:
URL: https://github.com/apache/dubbo/issues/11083#issuecomment-1346048002

   > > 而接受到新的地址通知时,只修改了RegistryDirectroy内的列表, 并没有把StaticDirectroy内的列表变动
   > 
   > 这个应该是没问题的,StaticDirectroy 会及时恢复的。
   
   你可以根据步骤测试一下, 说的StaticDirectroy未恢复可能有点问题。
   实际是MigrationInvoker 判断CurrentInvoker有误, org.apache.dubbo.registry.client.migration.DefaultMigrationAddressComparator#shouldMigrate 这里即使回滚成Dubbo2.x依旧会选择到serviceDiscoveryInvoker, 导致StaticDirectroy中的定时任务去校验avaliable时,是使用的CurrentInvoker, 导致StaticDirectroy内未恢复.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] lphu commented on issue #11083: java.lang.IndexOutOfBoundsException: null

Posted by GitBox <gi...@apache.org>.
lphu commented on issue #11083:
URL: https://github.com/apache/dubbo/issues/11083#issuecomment-1342153097

   可以通过此方式复现该问题.  dubbo版本 3.0.12。上游使用双注册中心,  下游正常单注册,  订阅注册策略均为默认.
   
   1. 上下游正常启动,  此时服务正常调用
   2. 关闭下游, 此时在这期间调用某一下游服务, 实际上是No provider, 但是会出现 ZoneAwareClusterInvoker数组越界问题,  同时再进行select 和 reselect时, 会把 StaticDirectroy内的 invoker 移到 toBeReconnet内, 启动一个定时任务check.
   3. 此时下游回滚版本至 2.7.x版本并且换一个ip启动,  启动完成后再请求 2) 同一服务,  此时仍旧报数组越界. 选择 2) 中未请求过的另一服务, 该服务能够正常通过.
   
   Dubbo 内认为注册中心不可用是在请求过程中判断的,如果 avaliable检查失败则移动到toBeReconnect列表内, 而接受到新的地址通知时,只修改了RegistryDirectroy内的列表, 并没有把StaticDirectroy内的列表变动


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] AlbumenJ commented on issue #11083: java.lang.IndexOutOfBoundsException: null

Posted by GitBox <gi...@apache.org>.
AlbumenJ commented on issue #11083:
URL: https://github.com/apache/dubbo/issues/11083#issuecomment-1340841649

   > > #10925 这个只是 3.2 中一个新功能的修复,和这个问题没关系。 这个问题应该和 #11046 有关,会在 3.1.4 版本中发布。
   > 
   > #11046 只是修复了不抛出数组越界的异常,改为抛出无服务提供者.
   > 
   > 问题是什么原因会造成该现象, 小概率事件,本地暂时也无法复现。 推测是应用级服务变更时的问题, 只有一个Reference是不正常的, 注册中心(zk)上的值也是正常的,重启之后就正常了
   
   注册中心中没有地址,available 检查为失败,被从服务目录中剔除


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] lphu commented on issue #11083: java.lang.IndexOutOfBoundsException: null

Posted by GitBox <gi...@apache.org>.
lphu commented on issue #11083:
URL: https://github.com/apache/dubbo/issues/11083#issuecomment-1354080844

   @AlbumenJ 麻烦帮忙确认一下


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] AlbumenJ commented on issue #11083: java.lang.IndexOutOfBoundsException: null

Posted by GitBox <gi...@apache.org>.
AlbumenJ commented on issue #11083:
URL: https://github.com/apache/dubbo/issues/11083#issuecomment-1344010915

   > 而接受到新的地址通知时,只修改了RegistryDirectroy内的列表, 并没有把StaticDirectroy内的列表变动


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] AlbumenJ commented on issue #11083: java.lang.IndexOutOfBoundsException: null

Posted by GitBox <gi...@apache.org>.
AlbumenJ commented on issue #11083:
URL: https://github.com/apache/dubbo/issues/11083#issuecomment-1369499165

   > @AlbumenJ 麻烦帮忙确认一下
   
   
   这个我测试了 3.1.4 版本是没问题的,在几秒后会自动恢复
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] AlbumenJ commented on issue #11083: java.lang.IndexOutOfBoundsException: null

Posted by GitBox <gi...@apache.org>.
AlbumenJ commented on issue #11083:
URL: https://github.com/apache/dubbo/issues/11083#issuecomment-1339156741

   https://github.com/apache/dubbo/pull/10925 这个只是 3.2 中一个新功能的修复,和这个问题没关系。
   这个问题应该和 https://github.com/apache/dubbo/pull/11046 有关,会在 3.1.4 版本中发布。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


[GitHub] [dubbo] lphu commented on issue #11083: java.lang.IndexOutOfBoundsException: null

Posted by GitBox <gi...@apache.org>.
lphu commented on issue #11083:
URL: https://github.com/apache/dubbo/issues/11083#issuecomment-1340421400

   > #10925 这个只是 3.2 中一个新功能的修复,和这个问题没关系。 这个问题应该和 #11046 有关,会在 3.1.4 版本中发布。
   
   #11046 只是修复了不抛出数组越界的异常,改为抛出无服务提供者.
   
   问题是什么原因会造成该现象, 小概率事件,本地暂时也无法复现。 推测是应用级服务变更时的问题, 只有一个Reference是不正常的, 注册中心(zk)上的值也是正常的,重启之后就正常了


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org


Re: [I] java.lang.IndexOutOfBoundsException: null [dubbo]

Posted by "wxbty (via GitHub)" <gi...@apache.org>.
wxbty closed issue #11083: java.lang.IndexOutOfBoundsException: null
URL: https://github.com/apache/dubbo/issues/11083


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org