accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Fuchs (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ACCUMULO-683) Accumulo ignores HDFS max replication configuration
Date Tue, 10 Jul 2012 15:33:34 GMT

    [ https://issues.apache.org/jira/browse/ACCUMULO-683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13410436#comment-13410436
] 

Adam Fuchs commented on ACCUMULO-683:
-------------------------------------

A workaround should be to set table.file.replication to 3 for the !METADATA table. This can
be done in the shell via
$ config -t !METADATA -s table.file.replication=3

There's another debate about whether we should fix this automatically. This is a prickly issue
-- on the one hand we could just ignore the table.file.replication if it is set to more than
the hadoop dfs.replication.max, and on the other hand we could enforce the table.file.replication
and make an administrator resolve the conflict. I would argue the later is better because
of the following:
# Automatically defaulting to the lower replication setting would constitute a subtle decrease
in durability, which may not be obvious to the administrator when they are modifying a dependent
system. We should make the the administrator fully aware of the consequences by forcing the
administrator to resolve the conflict.
# There is already an administrator involved in creating the conflict (by setting the HDFS
parameter), so adding another human-in-the-loop step here should not be overly costly.
# Accumulo shouldn't have to keep track of all the HDFS configuration parameters that might
affect it. These parameters change relatively frequently, so we could introduce future incompatibilities
by trying to avoid current incompatibilities.

That said, I think we should catch this exception and suggest the fix in the error message
that we log.
                
> Accumulo ignores HDFS max replication configuration
> ---------------------------------------------------
>
>                 Key: ACCUMULO-683
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-683
>             Project: Accumulo
>          Issue Type: Bug
>          Components: tserver
>    Affects Versions: 1.4.1
>            Reporter: Jim Klucar
>            Assignee: Keith Turner
>            Priority: Minor
>
> I setup a new 1.4.1 instance that was running on top of a Hadoop installation that had
the maximum block replications set to 3 and the following error showed up on the monitor page.
> java.io.IOException: failed to create file /accumulo/tables/!0/table_info/F0000001.rf_tmp
on client 127.0.0.1. Requested replication 5 exceeds maximum 3 at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:1220)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:1123) at
org.apache.hadoop.hdfs.server.namenode.NameNode.create(NameNode.java:551) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:523) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1383)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1379) at java.security.AccessController.doPrivileged(Native
Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1377)
> Tablet server error is:
> 10 10:56:25,408 [tabletserver.MinorCompactor] WARN : MinC failed (java.io.IOException:
failed to create file /accumulo/tables/!0/
> table_info/F0000001.rf_tmp on client 127.0.0.1.
> Requested replication 5 exceeds maximum 3
>         at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:1220)
>         at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:1123)
>         at org.apache.hadoop.hdfs.server.namenode.NameNode.create(NameNode.java:551)
>         at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:523)
>         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1383)
>         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1379)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:396)
>         at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
>         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1377)
> ) to create /accumulo/tables/!0/table_info/F0000001.rf_tmp retrying ...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

Mime
View raw message