hawq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kavinderd <...@git.apache.org>
Subject [GitHub] incubator-hawq pull request: Writable security fix
Date Thu, 24 Mar 2016 14:31:36 GMT
Github user kavinderd commented on a diff in the pull request:

    https://github.com/apache/incubator-hawq/pull/497#discussion_r57324733
  
    --- Diff: src/backend/cdb/cdbquerycontextdispatching.c ---
    @@ -102,7 +102,7 @@ int QueryContextDispatchingSizeMemoryLimit = 100 * 1024; /* KB */
     
     enum QueryContextDispatchingItemType
     {
    -    MasterXid, TablespaceLocation, TupleType, EmptyTable, FileSystemCredential
    +    MasterXid, TablespaceLocation, TupleType, EmptyTable, FileSystemCredential, Namespace
    --- End diff --
    
    So these enums identify portions of the `buffer` in `QueryContextInfo`. When the segment
receives the data it checks for the presence of the enums and then rebuilds the data accordingly.

    
    The issue with dispatching the namespace from master to segment to pxf was two fold:
    1. Master needs to serialize the data, segment needs to deserialize it
    2. Segement needs to hold the `dfs_address` in a variable until the moment it actually
invokes the pxf udf
    
    The reason I added the namespace to the URL was so that I wouldn't need to add a new field
to the `PG_FUNCTION_ARGS`.
    
    I agree that adding namespace to URL is a bit of a hack, and this whole implementation
is really the shortest path to get the namespace from master to segment so it definitely needs
improvement.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

Mime
View raw message