WriteAheadStorage extends WriteAheadStorageForwarder implements
    MutableStoreProvider,
    SchedulerStore.Mutable,
    CronJobStore.Mutable,
    TaskStore.Mutable,
    LockStore.Mutable,
    QuotaStore.Mutable,
    AttributeStore.Mutable,
    JobUpdateStore.Mutable { @Override public void deleteHostAttributes() { throw new UnsupportedOperationException( "Unsupported since casual storage users should never be doing this."); } WriteAheadStorage(
      TransactionManager transactionManager,
      SchedulerStore.Mutable schedulerStore,
      CronJobStore.Mutable jobStore,
      TaskStore.Mutable taskStore,
      LockStore.Mutable lockStore,
      QuotaStore.Mutable quotaStore,
      AttributeStore.Mutable attributeStore,
      JobUpdateStore.Mutable jobUpdateStore,
      Logger log,
      EventSink eventSink); @Override void saveFrameworkId(final String frameworkId); @Override boolean unsafeModifyInPlace(final String taskId, final ITaskConfig taskConfiguration); @Override void deleteTasks(final Set<String> taskIds); @Override void saveTasks(final Set<IScheduledTask> newTasks); @Override Optional<IScheduledTask> mutateTask(
      String taskId,
      Function<IScheduledTask, IScheduledTask> mutator); @Override void saveQuota(final String role, final IResourceAggregate quota); @Override boolean saveHostAttributes(final IHostAttributes attrs); @Override void removeJob(final IJobKey jobKey); @Override void saveAcceptedJob(final IJobConfiguration jobConfig); @Override void removeQuota(final String role); @Override void saveLock(final ILock lock); @Override void removeLock(final ILockKey lockKey); @Override void saveJobUpdate(IJobUpdate update, Optional<String> lockToken); @Override void saveJobUpdateEvent(IJobUpdateKey key, IJobUpdateEvent event); @Override void saveJobInstanceUpdateEvent(IJobUpdateKey key, IJobInstanceUpdateEvent event); @Override Set<IJobUpdateKey> pruneHistory(int perJobRetainCount, long historyPruneThresholdMs); @Override void deleteAllTasks(); @Override void deleteHostAttributes(); @Override void deleteJobs(); @Override void deleteQuotas(); @Override void deleteLocks(); @Override void deleteAllUpdatesAndEvents(); @Override SchedulerStore.Mutable getSchedulerStore(); @Override CronJobStore.Mutable getCronJobStore(); @Override TaskStore.Mutable getUnsafeTaskStore(); @Override LockStore.Mutable getLockStore(); @Override QuotaStore.Mutable getQuotaStore(); @Override AttributeStore.Mutable getAttributeStore(); @Override TaskStore getTaskStore(); @Override JobUpdateStore.Mutable getJobUpdateStore(); @Override T getUnsafeStoreAccess();  }
@Test(expected = UnsupportedOperationException.class) public void testDeleteHostAttributes() { control.replay(); storage.deleteHostAttributes(); }