[jboss-jira] [JBoss JIRA] (HIBERNATE-101) IdHashShardingStrategy fails after 1.7M id is generated

Steve Ebersole (JIRA) issues at jboss.org
Thu Nov 19 10:42:00 EST 2015


    [ https://issues.jboss.org/browse/HIBERNATE-101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13130935#comment-13130935 ] 

Steve Ebersole commented on HIBERNATE-101:
------------------------------------------

This is not the correct project to report Hibernate issues under. This Jira project is for reporting issues in the integration between Hibernate and WildFly. To report issues in Hibernate, please use https://hibernate.atlassian.net. Thanks.


> IdHashShardingStrategy fails after 1.7M id is generated
> -------------------------------------------------------
>
>                 Key: HIBERNATE-101
>                 URL: https://issues.jboss.org/browse/HIBERNATE-101
>             Project: Hibernate Integration
>          Issue Type: Bug
>            Reporter: Rafal Glowacz
>            Assignee: Steve Ebersole
>
> public class IdShardingStrategyTest extends TestCase
> {
>     private IdHashShardingStrategy _defaultIdStrategy;
>     private IdShardingStrategy _idStrategy;
>     protected void setUp() throws Exception {
>         _idStrategy = new IdShardingStrategy();
>         _idStrategy.initialize(null, createDirectoryProviders());
>         _defaultIdStrategy = new IdHashShardingStrategy();
>         _defaultIdStrategy.initialize(null, createDirectoryProviders());
>     }
>     private DirectoryProvider[] createDirectoryProviders() {
>         return new DirectoryProvider[]{new MockDirectoryProvider(),
>                                        new MockDirectoryProvider(),
>                                        new MockDirectoryProvider()};
>     }
>     public void testIdSharding() {
>         long id = 1;
>         long limit = 1000 * 1000000 * 1000000L;
>         try {
>             while (id < limit) {
>                 generateForAddition(_idStrategy, id);
>                 generateForDeletion(_idStrategy, id);
>                 id += 129653153;
>             }
>         } catch (Exception e) {
>             fail("Couldn't get directory for id " + id);
>         }
>     }
>     public void testIdHashSharding() {
>         long id = 1;
>         long limit = 1000 * 1000000 * 1000000L;
>         try {
>             while (id < limit) {
>                 generateForAddition(_defaultIdStrategy, id);
>                 generateForDeletion(_defaultIdStrategy, id);
>                 id += 129653153;
>             }
>             fail("Should fail with ArrayIndexOutOfBoundsException for long id");
>         } catch (Exception e) {
>         }
>     }
>     private MockDirectoryProvider generateForAddition(IndexShardingStrategy strategy, long id) {
>         return (MockDirectoryProvider) strategy.getDirectoryProviderForAddition(null, id, id + "", null);
>     }
>     private DirectoryProvider[] generateForDeletion(IndexShardingStrategy strategy, long id) {
>         return strategy.getDirectoryProvidersForDeletion(null, id, id + "");
>     }
> }



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list