ctubbsii commented on issue #3233: URL: https://github.com/apache/accumulo/issues/3233#issuecomment-1489342730
> Thanks @ctubbsii. Do you have an idea what you'd like the API to look like? Would it be a new flag on the `createtable` command? Since the shell is using only public API for this (and it shouldn't use internal APIs), we would need to create a new option for NewTableConfiguration to do this internally, rather than only inside the shell. Or, we would first need to create new getters for the shell to be able to retrieve the actual configuration and distinguish that from the effective configuration. But, I wonder if we really want to do that. It would be exposing a lot of the internals for how we manage configuration, and I'm not sure we really want to do that, because it might be harder to make improvements to that if we lock ourselves in with public API exposures for it. Another way to think about it is that this flag is really just adding one possible convenience option for users. We're not making any guarantees that it will satisfy everybody's use case... nor is it feasible to add a new flag for convenience for every situation. If the user has a more complex situation than our convenience flags can support, I don't think it would be unreasonable to suggest that they just do their own thing inside their own Java client code, whether that's in JShell or a compiled class. If it becomes a high-demand use case, we could consider adding an additional convenience flag later. In this case, the situation is happening because of a lot of table properties being set at the system level, and then subsequently trying to create tables with configuration copied from another table. I'm not sure it's a high-demand use case to do that, and probably doesn't warrant the addition of a new flag. I think it would probably make much more sense to save a NewTableConfiguration, set up with the table properties you want, and then to use that as a template for creating new tables, rather than copying existing tables' configurations. You could also compare your table configuration with the system configuration, to see which items are being overridden, and create a NewTableConfiguration consisting of only those differences. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
