Package com.taobao.metamorphosis.client.consumer

Examples of com.taobao.metamorphosis.client.consumer.TopicPartitionRegInfo


                new LocalOffsetStorage(ResourceUtils.getResourceAsFile("oldVersion_meta_offsets").getAbsolutePath());
        final String group = "test-grp";
        final String topic = "test-topic";
        Partition partition1 = new Partition("100-0");
        Partition partition2 = new Partition("101-0");
        TopicPartitionRegInfo info = offsetStorage.load(topic, group, partition1);
        assertEquals(topic, info.getTopic());
        assertEquals(partition1, info.getPartition());
        assertEquals(0, info.getOffset().get());
        // �����⼸��ֵ�����ļ�����û��,���ǰ���Ĭ�ϵ�
        assertEquals(true, info.getPartition().isAutoAck());
        assertEquals(true, info.getPartition().isAcked());
        assertEquals(false, info.getPartition().isRollback());

        TopicPartitionRegInfo info2 = offsetStorage.load(topic, group, partition2);
        assertEquals(topic, info2.getTopic());
        assertEquals(partition2, info2.getPartition());
        assertEquals(130835445, info2.getOffset().get());
        assertEquals(true, info2.getPartition().isAutoAck());
        assertEquals(true, info2.getPartition().isAcked());
        assertEquals(false, info2.getPartition().isRollback());

    }
View Full Code Here


        final MessageStoreManager storeManager = this.broker.getStoreManager();
        final MessageStore messageStore = storeManager.getMessageStore(topic, partition.getPartition());
        if (messageStore != null) {
            log.info("load offset from local"
                    + String.format(offsetFormat, topic, group, partition.getPartition(), messageStore.getSizeInBytes()));
            return new TopicPartitionRegInfo(topic, partition, messageStore.getMinOffset()
                + messageStore.getSizeInBytes());
        }
        else {
            final String masterServerUrl = this.slaveZooKeeper.getMasterServerUrl();
            if (StringUtils.isBlank(masterServerUrl)) {
                throw new NullPointerException("masterServerUrl is empty");
            }

            try {
                final long offset = this.queryOffsetInMaster(masterServerUrl, partition, topic);
                log.info("load offset from master,"
                        + String.format(offsetFormat, topic, group, partition.getPartition(), offset));
                return new TopicPartitionRegInfo(topic, partition, offset);
            }
            catch (final Exception e) {
                if (e instanceof InterruptedException) {
                    Thread.currentThread().interrupt();
                }
View Full Code Here

        final String topic = "test";
        final String group = "test-grp";
        final Partition partition = new Partition("0-1");
        this.offsetStorage.initOffset(topic, group, partition, 0);

        final TopicPartitionRegInfo info = this.offsetStorage.load(topic, group, partition);
        assertEquals(topic, info.getTopic());
        assertEquals(partition, info.getPartition());
        assertEquals(0, info.getOffset().get());
        assertEquals(-1, info.getMessageId());

        info.getOffset().set(999);
        info.setMessageId(100);
        info.setModified(true);
        final Collection<TopicPartitionRegInfo> infoList = new ArrayList<TopicPartitionRegInfo>();
        infoList.add(info);
        this.offsetStorage.commitOffset(group, infoList);

        final TopicPartitionRegInfo newInfo = this.offsetStorage.load(topic, group, partition);
        assertEquals(topic, newInfo.getTopic());
        assertEquals(partition, newInfo.getPartition());
        assertEquals(999, newInfo.getOffset().get());
        assertEquals(100, info.getMessageId());
    }
View Full Code Here

        this.offsetStorage.initOffset("test2", group, partition, 0);
        this.offsetStorage.initOffset("test3", group, partition, 0);
        final Collection<TopicPartitionRegInfo> infoList = new ArrayList<TopicPartitionRegInfo>();
        for (int i = 0; i < 3; i++) {
            final String topic = "test" + (i + 1);
            final TopicPartitionRegInfo info = this.offsetStorage.load(topic, "test-grp", partition);
            assertEquals(topic, info.getTopic());
            assertEquals(partition, info.getPartition());
            assertEquals(0, info.getOffset().get());
            info.getOffset().set(i);
            info.setMessageId(i);
            info.setModified(true);
            infoList.add(info);
        }
        this.offsetStorage.commitOffset(group, infoList);
        for (int i = 0; i < 3; i++) {
            final String topic = "test" + (i + 1);
            final TopicPartitionRegInfo info = this.offsetStorage.load(topic, "test-grp", partition);
            assertEquals(topic, info.getTopic());
            assertEquals(partition, info.getPartition());
            assertEquals(i, info.getOffset().get());
            assertEquals(i, info.getMessageId());
            info.getOffset().set(i);
            infoList.add(info);
        }
    }
View Full Code Here

    @Test
    public void testCommitNotExists_NoError() {
        final String topic = "test";
        final String group = "test-grp";
        final Partition partition = new Partition("0-1");
        final TopicPartitionRegInfo info = new TopicPartitionRegInfo(topic, partition, 1999);
        final Collection<TopicPartitionRegInfo> infoList = new ArrayList<TopicPartitionRegInfo>();
        infoList.add(info);
        assertNull(this.offsetStorage.load(topic, group, partition));
        this.offsetStorage.commitOffset(group, infoList);
        assertNull(this.offsetStorage.load(topic, group, partition));
View Full Code Here

            final int index = offsetString.lastIndexOf("-");
            if (index > 0) {
                // 1.4��ʼ���¿ͻ���
                final long msgId = Long.parseLong(offsetString.substring(0, index));
                final long offset = Long.parseLong(offsetString.substring(index + 1));
                return new TopicPartitionRegInfo(topic, partition, offset, msgId);
            }
            else {
                // �Ͽͻ���
                final long offset = Long.parseLong(offsetString);
                return new TopicPartitionRegInfo(topic, partition, offset);
            }
        }
    }
View Full Code Here

                            @Override
                            public Object doInResultSet(final ResultSet rs) throws SQLException {
                                if (rs.next()) {
                                    final long offset = rs.getLong(1);
                                    final long msgId = rs.getLong(2);
                                    return new TopicPartitionRegInfo(topic, partition, offset, msgId);
                                }
                                else {
                                    return null;
                                }
                            }
View Full Code Here

                if (infos != null) {
                    for (final Map<String, Object> infoMap : infos) {
                        final String topic = (String) infoMap.get("topic");
                        final long offset = Long.valueOf(String.valueOf(infoMap.get("offset")));
                        final Map<String, Integer> partMap = (Map<String, Integer>) infoMap.get("partition");
                        infoList.add(new TopicPartitionRegInfo(topic, new Partition(partMap.get("brokerId"), partMap
                            .get("partition")), offset));
                    }
                }
                this.groupInfoMap.put(group, infoList);
            }
View Full Code Here

TOP

Related Classes of com.taobao.metamorphosis.client.consumer.TopicPartitionRegInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.