original_string: public function handler_read($id) {
          try {
              $this->lock_session($id);
              $sessiondata = $this->connection->get($id);
              if ($sessiondata === false) {
                  $this->unlock_session($id);
                  return '';
              }
              $this->connection->expire($id, $this->timeout);
          } catch (RedisException $e) {
              error_log('Failed talking to redis: '.$e->getMessage());
              throw $e;
          }
          return $sessiondata;
      }
code: public function handler_read($id) {
          try {
              $this->lock_session($id);
              $sessiondata = $this->connection->get($id);
              if ($sessiondata === false) {
                  $this->unlock_session($id);
                  return '';
              }
              $this->connection->expire($id, $this->timeout);
          } catch (RedisException $e) {
              error_log('Failed talking to redis: '.$e->getMessage());
              throw $e;
          }
          return $sessiondata;
      }
code_tokens: public function handler_read ( $ id ) { try { $ this -> lock_session ( $ id ) ; $ sessiondata = $ this -> connection -> get ( $ id ) ; if ( $ sessiondata === false ) { $ this -> unlock_session ( $ id ) ; return '' ; } $ this -> connection -> expire ( $ id , $ this -> timeout ) ; } catch ( RedisException $ e ) { error_log ( 'Failed talking to redis: ' . $ e -> getMessage ( ) ) ; throw $ e ; } return $ sessiondata ; }
docstring: Read the session data from storage
  
  @param string $id The session id to read from storage.
  @return string The session data for PHP to process.
  
  @throws RedisException when we are unable to talk to the Redis server.
docstring_tokens: Read the session data from storage