private void initializeTransactionalProperties(Table table) throws MetaException {
    // All new versions of Acid tables created after the introduction of Acid version/type system
    // can have TRANSACTIONAL_PROPERTIES property defined. This parameter can be used to change
    // the operational behavior of ACID. However if this parameter is not defined, the new Acid
    // tables will still behave as the old ones. This is done so to preserve the behavior
    // in case of rolling downgrade.

    // Initialize transaction table properties with default string value.
    String tableTransactionalProperties = null;

    Map<String, String> parameters = table.getParameters();
    if (parameters != null) {
      Set<String> keys = parameters.keySet();
      for (String key : keys) {
        if (hive_metastoreConstants.TABLE_TRANSACTIONAL_PROPERTIES.equalsIgnoreCase(key)) {
          tableTransactionalProperties = parameters.get(key).toLowerCase();
          parameters.remove(key);
          String validationError = validateTransactionalProperties(tableTransactionalProperties);
          if (validationError != null) {
            throw new MetaException("Invalid transactional properties specified for "
                + Warehouse.getQualifiedName(table) + " with the error " + validationError);
          }
          break;
        }
      }
    }

    if (tableTransactionalProperties != null) {
      parameters.put(hive_metastoreConstants.TABLE_TRANSACTIONAL_PROPERTIES,
              tableTransactionalProperties);
    }
  }
Check that InputFormatClass/OutputFormatClass should implement
AcidInputFormat/AcidOutputFormat
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/TransactionalValidationListener.java