[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-824?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

André Oriani updated ZOOKEEPER-824:
-----------------------------------

        Summary: Calling addEntry on a LedgerHandler obtained using openLedger 
does not throw an exception.  (was: Calling addEntry on LedgerHandler obtained 
using openLedger does not throw and exception.)
    Description: 
Calling addEntry on a LedgerHandler obtained using openLedger does not throw an 
exception.

Teste Case :

{code}
package br.unicamp.zooexp.booexp;

import java.io.IOException;
import java.util.Enumeration;

import org.apache.bookkeeper.client.BKException;
import org.apache.bookkeeper.client.BookKeeper;
import org.apache.bookkeeper.client.LedgerEntry;
import org.apache.bookkeeper.client.LedgerHandle;
import org.apache.bookkeeper.client.BookKeeper.DigestType;
import org.apache.zookeeper.KeeperException;

public class BookTest {

    public static void main (String ... args) throws IOException, 
InterruptedException, KeeperException, BKException{
        BookKeeper bk = new BookKeeper("127.0.0.1");
        LedgerHandle lh = bk.createLedger(DigestType.CRC32, "123".getBytes());
        long lh_id = lh.getId();
        lh.addEntry("Teste".getBytes());
        lh.addEntry("Test2".getBytes());
        System.out.printf("Got %d entries for lh\n",lh.getLastAddConfirmed()+1);



        lh.addEntry("Test3".getBytes());
        LedgerHandle lh1 = bk.openLedger(lh_id, DigestType.CRC32, 
"123".getBytes());
        System.out.printf("Got %d entries for 
lh1\n",lh1.getLastAddConfirmed()+1);
        lh.addEntry("Test4".getBytes());

        lh.addEntry("Test5".getBytes());
        lh.addEntry("Test6".getBytes());
        System.out.printf("Got %d entries for lh\n",lh.getLastAddConfirmed()+1);
        Enumeration<LedgerEntry> seq = lh.readEntries(0, 
lh.getLastAddConfirmed());
        while (seq.hasMoreElements()){
            System.out.println(new String(seq.nextElement().getEntry()));
        }
        lh.close();


        lh1.addEntry("Test7".getBytes());
        lh1.addEntry("Test8".getBytes());

        System.out.printf("Got %d entries for 
lh1\n",lh1.getLastAddConfirmed()+1);

        seq = lh1.readEntries(0, lh1.getLastAddConfirmed());
        while (seq.hasMoreElements()){
            System.out.println(new String(seq.nextElement().getEntry()));
        }


        lh1.close();

        LedgerHandle lh2 = bk.openLedger(lh_id, DigestType.CRC32, 
"123".getBytes());
        lh2.addEntry("Test9".getBytes());

        System.out.printf("Got %d entries for lh2 
\n",lh2.getLastAddConfirmed()+1);

        seq = lh2.readEntries(0, lh2.getLastAddConfirmed());
        while (seq.hasMoreElements()){
            System.out.println(new String(seq.nextElement().getEntry()));
        }

        bk.halt();

    }
}

{code}


{panel:title=Output}
Got 2 entries for lh
Got 3 entries for lh1
Got 6 entries for lh
Teste
Test2
Test3
Test4
Test5
Test6
Got 3 entries for lh1
Teste
Test2
Test3
Got 3 entries for lh2 
Teste
Test2
Test3
{panel}

  was:
Calling addEntry on LedgerHandler obtained using openLedger does not throw and 
exception.

Teste Case :

{code}
package br.unicamp.zooexp.booexp;

import java.io.IOException;
import java.util.Enumeration;

import org.apache.bookkeeper.client.BKException;
import org.apache.bookkeeper.client.BookKeeper;
import org.apache.bookkeeper.client.LedgerEntry;
import org.apache.bookkeeper.client.LedgerHandle;
import org.apache.bookkeeper.client.BookKeeper.DigestType;
import org.apache.zookeeper.KeeperException;

public class BookTest {

    public static void main (String ... args) throws IOException, 
InterruptedException, KeeperException, BKException{
        BookKeeper bk = new BookKeeper("127.0.0.1");
        LedgerHandle lh = bk.createLedger(DigestType.CRC32, "123".getBytes());
        long lh_id = lh.getId();
        lh.addEntry("Teste".getBytes());
        lh.addEntry("Test2".getBytes());
        System.out.printf("Got %d entries for lh\n",lh.getLastAddConfirmed()+1);



        lh.addEntry("Test3".getBytes());
        LedgerHandle lh1 = bk.openLedger(lh_id, DigestType.CRC32, 
"123".getBytes());
        System.out.printf("Got %d entries for 
lh1\n",lh1.getLastAddConfirmed()+1);
        lh.addEntry("Test4".getBytes());

        lh.addEntry("Test5".getBytes());
        lh.addEntry("Test6".getBytes());
        System.out.printf("Got %d entries for lh\n",lh.getLastAddConfirmed()+1);
        Enumeration<LedgerEntry> seq = lh.readEntries(0, 
lh.getLastAddConfirmed());
        while (seq.hasMoreElements()){
            System.out.println(new String(seq.nextElement().getEntry()));
        }
        lh.close();


        lh1.addEntry("Test7".getBytes());
        lh1.addEntry("Test8".getBytes());

        System.out.printf("Got %d entries for 
lh1\n",lh1.getLastAddConfirmed()+1);

        seq = lh1.readEntries(0, lh1.getLastAddConfirmed());
        while (seq.hasMoreElements()){
            System.out.println(new String(seq.nextElement().getEntry()));
        }


        lh1.close();

        LedgerHandle lh2 = bk.openLedger(lh_id, DigestType.CRC32, 
"123".getBytes());
        lh2.addEntry("Test9".getBytes());

        System.out.printf("Got %d entries for lh2 
\n",lh2.getLastAddConfirmed()+1);

        seq = lh2.readEntries(0, lh2.getLastAddConfirmed());
        while (seq.hasMoreElements()){
            System.out.println(new String(seq.nextElement().getEntry()));
        }

        bk.halt();

    }
}

{code}


{panel:title=Output}
Got 2 entries for lh
Got 3 entries for lh1
Got 6 entries for lh
Teste
Test2
Test3
Test4
Test5
Test6
Got 3 entries for lh1
Teste
Test2
Test3
Got 3 entries for lh2 
Teste
Test2
Test3
{panel}


> Calling addEntry on a LedgerHandler obtained using openLedger does not throw 
> an exception.
> ------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-824
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-824
>             Project: Zookeeper
>          Issue Type: Bug
>    Affects Versions: 3.3.1
>            Reporter: André Oriani
>
> Calling addEntry on a LedgerHandler obtained using openLedger does not throw 
> an exception.
> Teste Case :
> {code}
> package br.unicamp.zooexp.booexp;
> import java.io.IOException;
> import java.util.Enumeration;
> import org.apache.bookkeeper.client.BKException;
> import org.apache.bookkeeper.client.BookKeeper;
> import org.apache.bookkeeper.client.LedgerEntry;
> import org.apache.bookkeeper.client.LedgerHandle;
> import org.apache.bookkeeper.client.BookKeeper.DigestType;
> import org.apache.zookeeper.KeeperException;
> public class BookTest {
>     public static void main (String ... args) throws IOException, 
> InterruptedException, KeeperException, BKException{
>         BookKeeper bk = new BookKeeper("127.0.0.1");
>         LedgerHandle lh = bk.createLedger(DigestType.CRC32, "123".getBytes());
>         long lh_id = lh.getId();
>         lh.addEntry("Teste".getBytes());
>         lh.addEntry("Test2".getBytes());
>         System.out.printf("Got %d entries for 
> lh\n",lh.getLastAddConfirmed()+1);
>         lh.addEntry("Test3".getBytes());
>         LedgerHandle lh1 = bk.openLedger(lh_id, DigestType.CRC32, 
> "123".getBytes());
>         System.out.printf("Got %d entries for 
> lh1\n",lh1.getLastAddConfirmed()+1);
>         lh.addEntry("Test4".getBytes());
>         lh.addEntry("Test5".getBytes());
>         lh.addEntry("Test6".getBytes());
>         System.out.printf("Got %d entries for 
> lh\n",lh.getLastAddConfirmed()+1);
>         Enumeration<LedgerEntry> seq = lh.readEntries(0, 
> lh.getLastAddConfirmed());
>         while (seq.hasMoreElements()){
>             System.out.println(new String(seq.nextElement().getEntry()));
>         }
>         lh.close();
>         lh1.addEntry("Test7".getBytes());
>         lh1.addEntry("Test8".getBytes());
>         System.out.printf("Got %d entries for 
> lh1\n",lh1.getLastAddConfirmed()+1);
>         seq = lh1.readEntries(0, lh1.getLastAddConfirmed());
>         while (seq.hasMoreElements()){
>             System.out.println(new String(seq.nextElement().getEntry()));
>         }
>         lh1.close();
>         LedgerHandle lh2 = bk.openLedger(lh_id, DigestType.CRC32, 
> "123".getBytes());
>         lh2.addEntry("Test9".getBytes());
>         System.out.printf("Got %d entries for lh2 
> \n",lh2.getLastAddConfirmed()+1);
>         seq = lh2.readEntries(0, lh2.getLastAddConfirmed());
>         while (seq.hasMoreElements()){
>             System.out.println(new String(seq.nextElement().getEntry()));
>         }
>         bk.halt();
>     }
> }
> {code}
> {panel:title=Output}
> Got 2 entries for lh
> Got 3 entries for lh1
> Got 6 entries for lh
> Teste
> Test2
> Test3
> Test4
> Test5
> Test6
> Got 3 entries for lh1
> Teste
> Test2
> Test3
> Got 3 entries for lh2 
> Teste
> Test2
> Test3
> {panel}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to