Reputation: 9299
The below code was working perfectly fine on master-slave replication datastore and broke after we moved to HRD today. The exception I see is just
E 2012-09-19 21:59:13.603
vik.sakshum.sakshumweb.server.common.CommonServiceCode writeToGoogleStore: Exception in finally of execute of writeToGoogleStore
E 2012-09-19 21:59:13.603
vik.sakshum.sakshumweb.server.common.CommonServiceCode writeToGoogleStore: Exception class is :java.io.IOException
E 2012-09-19 21:59:13.603
vik.sakshum.sakshumweb.server.common.CommonServiceCode writeToGoogleStore: Exception is :null
Code
try {
log.info("Starting google storage");
// Get the file service
FileService fileService = FileServiceFactory.getFileService();
GSFileOptionsBuilder optionsBuilder = new GSFileOptionsBuilder()
.setBucket(bucketName).setKey(key).setAcl("public-read")
.setMimeType("text/html");
// Create your object
AppEngineFile writableFile = fileService
.createNewGSFile(optionsBuilder.build());
// Open a channel for writing
boolean lockForWrite = true;
FileWriteChannel writeChannel = fileService.openWriteChannel(
writableFile, lockForWrite);
PrintWriter out = new PrintWriter(Channels.newWriter(writeChannel,
"UTF8"));
out.println(emailMsgTxt);
out.close();
writeChannel.closeFinally();
} catch (Exception e) {
e.printStackTrace();
log.severe("Exception in finally of execute of writeToGoogleStore");
log.severe("Exception class is :" + e.getClass().getName());
log.severe("Exception is :" + e.getMessage());
return "failed";
}
Upvotes: 0
Views: 55
Reputation: 599778
Moving to HR also means you've got a new app name and service account name. You'll probably need to add the new account to the ACL of that storage bucket.
Upvotes: 1