Ошибка репликации Couchbase-lite

работа с чистой Java и Couchbase-lite. работает следующий код:

Менеджер менеджера = новый менеджер (новый JavaContext ("данные"), Manager.DEFAULT_OPTIONS); Manager.enableLogging("Sync", Log.VERBOSE);

    final Database db = manager.getDatabase("sync_gateway");
    URL url = new URL("http://localhost:4984/sync_gateway/");
    Replication push = db.createPushReplication(url);
    Replication pull = db.createPullReplication(url);
    pull.setContinuous(true);
    push.setContinuous(true);
    com.couchbase.lite.auth.Authenticator auth = AuthenticatorFactory.createBasicAuthenticator("GUEST", "");
    push.setAuthenticator(auth);
    push.setAuthenticator(auth);
    pull.setAuthenticator(auth);
    push.start();
    pull.start();

    on line push.start()
    it through exception:
    Jun 11, 2015 8:46:23 PM com.couchbase.lite.util.SystemLogger e
    SEVERE: Sync: RemoteRequest.run() exception: %s
    java.lang.ArrayIndexOutOfBoundsException: 1
        at com.couchbase.lite.support.RemoteRequest.preemptivelySetAuthCredentials(RemoteRequest.java:281)
        at com.couchbase.lite.support.RemoteRequest.run(RemoteRequest.java:96)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

    Jun 11, 2015 8:48:02 PM com.couchbase.lite.util.SystemLogger e
    SEVERE: Sync: RemoteRequest.run() exception: %s
    java.lang.ArrayIndexOutOfBoundsException: 1
        at com.couchbase.lite.support.RemoteRequest.preemptivelySetAuthCredentials(RemoteRequest.java:281)
        at com.couchbase.lite.support.RemoteRequest.run(RemoteRequest.java:96)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

    Jun 11, 2015 8:48:11 PM com.couchbase.lite.util.SystemLogger e
    SEVERE: Sync: RemoteRequest.run() exception: %s
    java.lang.ArrayIndexOutOfBoundsException: 1
    at com.couchbase.lite.support.RemoteRequest.preemptivelySetAuthCredentials(RemoteRequest.java:281)
        at com.couchbase.lite.support.RemoteRequest.run(RemoteRequest.java:96)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang

.Thread.run(Thread.java:745)

Я запустил свой sync_gateway и хочу синхронизировать свой облегчённый диван с полной нодой. Я запустил sync_gateway с IP-адресом полного узла Couchbase. теперь, как я знаю, мне нужно только запустить этот код репликации lite-коучбазы, и мои данные лайт-коучбазы будут скопированы на полный узел кушетки. Пожалуйста, помогите.


person Zeeshan Niazi    schedule 11.06.2015    source источник
comment
Смотрите обсуждение здесь -› forums.couchbase.com/t/couchbase- lite-replication-error/4096   -  person borrrden    schedule 13.06.2015


Ответы (1)


Ссылка на обсуждение на форумах Couchbase для решения этого вопроса .

person sweetiewill    schedule 18.06.2015
comment
не могли бы вы повторно вставить резолюцию сюда для потомков? - person Troyseph; 19.06.2015
comment
Краткая версия решения: @Neeshan Niazi использовал логин GUEST с паролем. Это вызывает ошибку, которая является исправленной ошибкой github.com/couchbase. /couchbase-lite-java-core/issues/661. Для входа в систему GUEST вам не нужно использовать аутентификацию, поэтому удалите строки Authenticator auth = и .setAuthenticator. Анонимный доступ (GUEST) по умолчанию отключен. Чтобы включить, см. developer.couchbase.com/documentation/mobile/current/develop/ - person Thaddeus Albers; 09.10.2016