- 
                Notifications
    You must be signed in to change notification settings 
- Fork 203
Read without writer #158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Read without writer #158
Conversation
        
          
                neo4j/addressing.py
              
                Outdated
          
        
      | context = {} | ||
| parameters = [x for x in query.split('&') if x] | ||
| for keyValue in parameters: | ||
| pair = keyValue.split('=') | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
key, _, value = keyValue.partition("=")
if not key or not value
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
        
          
                neo4j/v1/direct.py
              
                Outdated
          
        
      | # the connection pool may contain multiple IP address keys, one for | ||
| # an old address and one for a new address. | ||
| if SocketAddress.parse_routing_context(uri): | ||
| raise ValueError("Routing parameters are not supported with scheme 'bolt'. Given URI: '%s'." % uri) | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no Routing
        
          
                neo4j/v1/routing.py
              
                Outdated
          
        
      | expired = self.last_updated_time + self.ttl <= self.timer() | ||
| return not expired and len(self.routers) > 1 and self.readers and self.writers | ||
| has_server_for_mode = (access_mode == READ_ACCESS and self.readers) or (access_mode == WRITE_ACCESS and self.writers) | ||
| return not expired and len(self.routers) >= 1 and has_server_for_mode | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and self.routers
        
          
                neo4j/v1/routing.py
              
                Outdated
          
        
      | if ServerVersion.from_str(connection.server.version).at_least_version(3, 2): | ||
| return self.call_get_routing_table, {self.get_routing_table_param: self.routing_context} | ||
| else: | ||
| return self.call_get_servers | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return self.call_get_servers, {}
        
          
                neo4j/v1/routing.py
              
                Outdated
          
        
      | try: | ||
| with BoltSession(lambda _: self.acquire_direct(address)) as session: | ||
| return list(session.run("CALL %s" % self.routing_info_procedure)) | ||
| connection = self.acquire_direct(address) | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
connections = [None]
def connector(_):
connection = self.acquire_direct(address)
connections[0] = connection
return connection
with BoltSession(connector) as session:
last_connection = connections[0]
        
          
                neo4j/v1/routing.py
              
                Outdated
          
        
      | raise ServiceUnavailable("Unable to retrieve routing information") | ||
|  | ||
| def refresh_routing_table(self): | ||
| def ensure_routing_table(self, access_mode): | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ensure_routing_table_is_fresh
0e3d67e    to
    1cc9ac8      
    Compare
  
    1cc9ac8    to
    fe7554e      
    Compare
  
    87677b0    to
    3cb094a      
    Compare
  
    
Based on #157 supporting routing context in bolt uri