blob: 5f3f227d20a125cbc1c30fc403f3b74354eeec28 [file] [log] [blame]
#summary frequently asked questions with answers
= Developer FAQ =
* How should one handle repository being unavailable during init()?
It is OK for init() to error if repository is unavailable, as the
!GsaCommunicationHandler will retry init() using exponential backoff
(starting at some seconds and maxing out at an hour) until it is interrupted, shutdown, or successful.
* How do I get a reference to the !DocIdPusher?
Use !AdaptorContext.getDocIdPusher() that you get in init.
* How do I feed document that has changed?
Send a Record for that !DocId with crawl-immediately being true.
* How do I feed a document that has been deleted?
Tell the GSA to crawl the document, which will result in 404, which will result in a deletion. If you'd like you can set delete to be true in Record, but that's not necessary.
* How do I make an ACL?
Use Acl.Builder
* Can I represent multiple ACLs for same document?
Yes.
Consider: some/path/Folder and some/path/Folder/File
Acls:<br>
some/path/Folder (sent via retriever)<br>
generated/inherit_file/some/path/Folder (sent via pushNamedResources)<br>
generated/inherit_folder/some/path/Folder (sent via pushNamedResources)<br>
some/path/Folder/File inherits from generated/inherit_file/some/path/Folder (sent via retriever)<br>
To send using pushNamedResources, create the other ACLs and then spawn a new thread that calls pushNamedResources.
* I'm getting interruption exception, what am I doing wrong?
The adaptor has 30 seconds to start sending content, and 3 minutes to complete sending content. The config values are adaptor.docContentTimeoutSecs and adaptor.docHeaderTimeoutSecs.
* My adaptor freezes!
Windows users need JRE 1.7u6 or higher (earlier versions freeze) .
* My adaptor has a memory leak!
All users need at least JRE 1.6u27 or higher (earlier versions have a memory leak).
* I'm seeing the same config name appear twice in dashboard?
Please double check that you don't have a Unicode invisible space character, that maybe was copied from a webpage or was inserted at the beginning of the file by your text editor, in your config name.
* I have an existing Adaptor that provides full data pushes - how do I make it support incremental pushes?
Implement `com/google/enterprise/adaptor/PollingIncrementalLister` which has a single method `getModifiedDocIds(DocIdPusher pusher)` . When initializing the Adaptor, register with `AdaptorContext.setPollingIncrementalLister(yourLister)`.