Какая ошибка возникает при сбое записи из-за недостатка места на диске - PullRequest
0 голосов
/ 06 июля 2018

Мы пытаемся сохранить данные размером 60-70 МБ в нескольких областях. Если на диске недостаточно места, мы можем удалить одну из областей.

Как определить, что ошибка, вызванная областью, связана с нехваткой места на диске.

Попытка эмулировать мало места на диске. Я получил следующую трассировку стека.

W/System.err: Caused by: io.realm.exceptions.RealmError: Unrecoverable error. write(): failed: No space left on device in /Users/Nabil/Dev/realm/master/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 101
        at io.realm.internal.OsSharedRealm.nativeGetSharedRealm(Native Method)
        at io.realm.internal.OsSharedRealm.<init>(OsSharedRealm.java:171)
        at io.realm.internal.OsSharedRealm.getInstance(OsSharedRealm.java:241)
W/System.err:     at io.realm.internal.OsSharedRealm.getInstance(OsSharedRealm.java:231)
        at io.realm.RealmCache.doCreateRealmOrGetFromCache(RealmCache.java:319)
        at io.realm.RealmCache.createRealmOrGetFromCache(RealmCache.java:282)
        at io.realm.Realm.getInstance(Realm.java:378)

Фрагмент для проверки:

try {
    // Insert data to realm
} catch (RealmError ex) {
    String detailMessage = ex.getMessage();

    if (detailMessage != null && detailMessage.contains("write()")
            && detailMessage.contains("No space left on device")) {

        // Time to delete old realm

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