[ https://issues.apache.org/jira/browse/CASSANDRA-1241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898311#action_12898311 ]
Stu Hood commented on CASSANDRA-1241: ------------------------------------- +1 > config file option DiskAccessMode has no-op option "mmap_index_only" > -------------------------------------------------------------------- > > Key: CASSANDRA-1241 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1241 > Project: Cassandra > Issue Type: Bug > Components: Core, Documentation & website > Affects Versions: 0.7 beta 1 > Reporter: Robert Coli > Assignee: Jonathan Ellis > Priority: Minor > Fix For: 0.7 beta 2 > > Attachments: 1241.patch > > > Per http://wiki.apache.org/cassandra/StorageConfiguration : > " > Access mode. mmapped i/o is substantially faster, but only practical on a > 64bit machine (which notably does not include EC2 "small" instances) or > relatively small datasets. "auto", the safe choice, will enable mmapping on a > 64bit JVM. Other values are "mmap", "mmap_index_only" (which may allow you to > get part of the benefits of mmap on a 32bit machine by mmapping only index > files) and "standard". (The buffer size settings that follow only apply to > standard, non-mmapped i/o.) > " > The actual code referring to "mmap_index_only" is in > src/java/org/apache/cassandra/config/DatabaseDescriptor.java : > " > public static enum DiskAccessMode { > auto, > mmap, > mmap_index_only, > standard, > } > ... > private static DiskAccessMode diskAccessMode; > private static DiskAccessMode indexAccessMode; > ... > if (diskAccessMode == DiskAccessMode.auto) > { > diskAccessMode = System.getProperty("os.arch").contains("64") > ? DiskAccessMode.mmap : DiskAccessMode.standard; > indexAccessMode = diskAccessMode; > logger.info("Auto DiskAccessMode determined to be " + > diskAccessMode); > } > else if (diskAccessMode == DiskAccessMode.mmap_index_only) > { > diskAccessMode = DiskAccessMode.standard; > indexAccessMode = DiskAccessMode.mmap; > } > else > { > indexAccessMode = diskAccessMode; > } > " > As indicated by this snippet, IndexAccessMode is set to "mmap" if > "mmap_index_only" is set in the conf file. However it does not appear that > IndexAccessMode or getIndexAccessMode() are used by any other cassandra code. > " > ~/repos/cassandra$ grep -ri indexAccessMode . > ./src/java/org/apache/cassandra/config/DatabaseDescriptor.java: private > static Config.DiskAccessMode indexAccessMode; > ./src/java/org/apache/cassandra/config/DatabaseDescriptor.java: > indexAccessMode = conf.disk_access_mode; > ./src/java/org/apache/cassandra/config/DatabaseDescriptor.java: > indexAccessMode = Config.DiskAccessMode.mmap; > ./src/java/org/apache/cassandra/config/DatabaseDescriptor.java: > indexAccessMode = conf.disk_access_mode; > ./src/java/org/apache/cassandra/config/DatabaseDescriptor.java: public > static Config.DiskAccessMode getIndexAccessMode() > ./src/java/org/apache/cassandra/config/DatabaseDescriptor.java: return > indexAccessMode; > " > If I understand the code correctly, this means that setting DiskAccessMode to > "mmap_index_only" is functionally the same as setting it to "standard." As > people might be tempted to try/test "mmap_index_only" as a mode in-between > "standard" and "mmap" in order to mitigate concerns about > https://issues.apache.org/jira/browse/CASSANDRA-1214, it would probably be > good to either complete the feature or remove the configuration option. I am > willing to submit a patch for the latter and fix the docs if that's the > decision. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.