Свободно Кассандра: Что означает «Apache.Cassandra.UnavailableException»? - PullRequest
2 голосов
/ 16 декабря 2011

Я использую Cassandra 1.0.5 + новейшую Fluent Cassandra для своего приложения на C #.

Я последовал примеру (с небольшой собственной модификацией) на сайте Fluent Cassandra, но получил исключение под названием «Apache.Cassandra.UnavailableException».

Я новичок в Кассандре, просто хочу быстро пробежаться по нему, чтобы почувствовать. Так может ли кто-нибудь сказать мне, почему?

Мой простой код такой:

public class CassandraAPI
{
   private CassandraContext cassandraDB;
   private CassandraColumnFamily<BytesType> family;
   public CassandraAPI()
   {
      cassandraDB = new CassandraContext(keyspace: "MyKeyspace", host: "192.168.178.32");
      family = cassandraDB.GetColumnFamily<BytesType>("ColumnFamilyName");
   }

   public void update(byte[] key1, byte[] value)
   {
      dynamic post = family.CreateRecord(key: key1);
      post.value = value;
      // attach the post to the database
      Console.WriteLine("attaching record");
      cassandraDB.Attach(post);

      // save the changes
      Console.WriteLine("saving changes");
      cassandraDB.SaveChanges();
   }

   public void read(byte[] key)
   {
     dynamic getPost = family.Get(key).FirstOrDefault();
     Console.WriteLine("getPost");
     byte[] value = getPost.value;
     Console.WriteLine(value.Length);
   }
}

1 Ответ

4 голосов
/ 16 декабря 2011

UnavailableException означает, что вы запрашивали уровень ConsistencyLevel, который не может быть удовлетворен.Подробнее см .:

http://wiki.apache.org/cassandra/API#Exceptions

Насколько велик кластер, к которому вы делаете запросы?Это будет необычной ошибкой в ​​локальном кластере с одним экземпляром.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...